@hinkal/common 0.2.21 → 0.2.23

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 (603) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +14 -14
  3. package/API/API.mjs +88 -87
  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/ai-calls.cjs +1 -0
  8. package/API/ai-calls.d.ts +17 -0
  9. package/API/ai-calls.mjs +21 -0
  10. package/API/callLifiAPI.cjs +1 -1
  11. package/API/callLifiAPI.d.ts +1 -1
  12. package/API/callLifiAPI.mjs +5 -5
  13. package/API/callMonitor.cjs +1 -1
  14. package/API/callMonitor.d.ts +1 -1
  15. package/API/callMonitor.mjs +7 -7
  16. package/API/callOdosAPI.cjs +1 -1
  17. package/API/callOdosAPI.mjs +11 -11
  18. package/API/callOkxAPI.cjs +1 -1
  19. package/API/callOkxAPI.d.ts +1 -1
  20. package/API/callOkxAPI.mjs +5 -5
  21. package/API/callOneInchAPI.cjs +1 -1
  22. package/API/callOneInchAPI.mjs +11 -10
  23. package/API/callRelayer.cjs +1 -1
  24. package/API/callRelayer.d.ts +5 -6
  25. package/API/callRelayer.mjs +11 -11
  26. package/API/checkRisk.cjs +1 -1
  27. package/API/checkRisk.d.ts +1 -1
  28. package/API/checkRisk.mjs +4 -4
  29. package/API/deposit-and-withdraw-status-calls.cjs +1 -0
  30. package/API/deposit-and-withdraw-status-calls.d.ts +20 -0
  31. package/API/deposit-and-withdraw-status-calls.mjs +18 -0
  32. package/API/duneAPI.cjs +1 -0
  33. package/API/duneAPI.d.ts +11 -0
  34. package/API/duneAPI.mjs +25 -0
  35. package/API/enclaveCalls.cjs +1 -1
  36. package/API/enclaveCalls.mjs +4 -5
  37. package/API/fetchCommitmentsCache.cjs +1 -1
  38. package/API/fetchCommitmentsCache.mjs +9 -9
  39. package/API/get-token-data.cjs +1 -1
  40. package/API/get-token-data.d.ts +1 -1
  41. package/API/get-token-data.mjs +5 -5
  42. package/API/getBridgeProtocols.cjs +1 -0
  43. package/API/getBridgeProtocols.d.ts +7 -0
  44. package/API/getBridgeProtocols.mjs +8 -0
  45. package/API/getGasEstimates.cjs +1 -1
  46. package/API/getGasEstimates.mjs +9 -9
  47. package/API/getLifiStatus.cjs +1 -0
  48. package/API/getLifiStatus.d.ts +24 -0
  49. package/API/getLifiStatus.mjs +15 -0
  50. package/API/getRelayerURL.cjs +1 -0
  51. package/API/getRelayerURL.d.ts +1 -0
  52. package/API/getRelayerURL.mjs +10 -0
  53. package/API/getServerURL.cjs +1 -1
  54. package/API/getServerURL.d.ts +3 -3
  55. package/API/getServerURL.mjs +67 -51
  56. package/API/getTokenPrice.cjs +1 -1
  57. package/API/getTokenPrice.d.ts +0 -5
  58. package/API/getTokenPrice.mjs +7 -14
  59. package/API/index.d.ts +3 -1
  60. package/API/is-tx-stateless.cjs +1 -1
  61. package/API/is-tx-stateless.d.ts +1 -1
  62. package/API/is-tx-stateless.mjs +12 -10
  63. package/API/kycCalls.cjs +1 -1
  64. package/API/kycCalls.d.ts +8 -4
  65. package/API/kycCalls.mjs +26 -23
  66. package/API/passwordCalls.cjs +1 -0
  67. package/API/passwordCalls.d.ts +9 -0
  68. package/API/passwordCalls.mjs +13 -0
  69. package/API/proxyAccountsCalls.cjs +1 -1
  70. package/API/proxyAccountsCalls.d.ts +2 -7
  71. package/API/proxyAccountsCalls.mjs +21 -27
  72. package/API/relayCalls.cjs +1 -1
  73. package/API/relayCalls.mjs +4 -4
  74. package/API/restoreSnapshots.cjs +1 -0
  75. package/API/restoreSnapshots.d.ts +1 -0
  76. package/API/restoreSnapshots.mjs +10 -0
  77. package/API/scheduled-transactions-calls.cjs +1 -1
  78. package/API/scheduled-transactions-calls.d.ts +9 -1
  79. package/API/scheduled-transactions-calls.mjs +9 -5
  80. package/API/simulate-batch-tx.cjs +1 -1
  81. package/API/simulate-batch-tx.d.ts +2 -2
  82. package/API/simulate-batch-tx.mjs +6 -7
  83. package/API/solana-calls.cjs +1 -1
  84. package/API/solana-calls.d.ts +3 -6
  85. package/API/solana-calls.mjs +15 -15
  86. package/API/temporaryWalletCalls.cjs +1 -1
  87. package/API/temporaryWalletCalls.mjs +19 -13
  88. package/API/token-calls.cjs +1 -1
  89. package/API/token-calls.mjs +5 -6
  90. package/README.md +64 -256
  91. package/constants/activity.constants.cjs +1 -1
  92. package/constants/activity.constants.mjs +0 -1
  93. package/constants/addresses.constants.cjs +1 -1
  94. package/constants/addresses.constants.mjs +9 -10
  95. package/constants/chains.constants.cjs +1 -1
  96. package/constants/chains.constants.d.ts +6 -0
  97. package/constants/chains.constants.mjs +52 -58
  98. package/constants/coingecko.constants.cjs +1 -1
  99. package/constants/coingecko.constants.d.ts +0 -1
  100. package/constants/coingecko.constants.mjs +10 -11
  101. package/constants/contracts.constants.cjs +1 -1
  102. package/constants/contracts.constants.d.ts +3 -3
  103. package/constants/contracts.constants.mjs +29 -29
  104. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-solana.json.mjs +2 -28
  106. package/constants/function-signatures.constants.cjs +1 -1
  107. package/constants/function-signatures.constants.d.ts +1 -0
  108. package/constants/function-signatures.constants.mjs +4 -3
  109. package/constants/kyc.constants.cjs +1 -1
  110. package/constants/kyc.constants.mjs +40 -39
  111. package/constants/mediaUrls.constants.cjs +1 -1
  112. package/constants/mediaUrls.constants.d.ts +0 -1
  113. package/constants/mediaUrls.constants.mjs +1 -2
  114. package/constants/permit2.constants.cjs +1 -1
  115. package/constants/permit2.constants.d.ts +1 -0
  116. package/constants/permit2.constants.mjs +11 -10
  117. package/constants/server.constants.cjs +1 -1
  118. package/constants/server.constants.d.ts +123 -19
  119. package/constants/server.constants.mjs +138 -35
  120. package/constants/tasks.constants.cjs +1 -1
  121. package/constants/tasks.constants.mjs +4 -5
  122. package/constants/vite.constants.cjs +1 -1
  123. package/constants/vite.constants.mjs +13 -36
  124. package/crypto/poseidon.cjs +1 -1
  125. package/crypto/poseidon.mjs +10 -10
  126. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  127. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +86 -83
  128. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  129. package/data-structures/Hinkal/Hinkal.d.ts +56 -45
  130. package/data-structures/Hinkal/Hinkal.mjs +348 -315
  131. package/data-structures/Hinkal/IHinkal.d.ts +56 -42
  132. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  133. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  134. package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -48
  135. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
  136. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +7 -0
  137. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +42 -0
  138. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalActionReceive.mjs +24 -29
  140. package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
  141. package/data-structures/Hinkal/hinkalApprove.d.ts +3 -0
  142. package/data-structures/Hinkal/hinkalApprove.mjs +114 -0
  143. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  144. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +19 -20
  145. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalDeposit.mjs +84 -89
  147. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  148. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  149. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -78
  150. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
  152. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +79 -75
  153. package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
  155. package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +151 -140
  156. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  157. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +5 -4
  158. package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
  159. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +4 -0
  160. package/data-structures/Hinkal/hinkalInsideTransact.mjs +120 -0
  161. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  162. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
  163. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +118 -115
  164. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  165. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +29 -30
  166. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  167. package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -40
  168. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  169. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -37
  170. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  171. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +2 -1
  172. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -17
  173. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  174. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +3 -4
  175. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +95 -84
  176. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  177. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +1 -2
  178. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +180 -154
  179. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  180. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +3 -2
  181. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +40 -43
  182. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  183. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +67 -71
  184. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  185. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  186. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -63
  187. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  188. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +46 -50
  189. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  190. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +50 -52
  191. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  192. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
  193. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +65 -69
  194. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  195. package/data-structures/Hinkal/hinkalSwap.mjs +77 -71
  196. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  197. package/data-structures/Hinkal/hinkalTransfer.mjs +70 -72
  198. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  199. package/data-structures/Hinkal/hinkalWithdraw.mjs +78 -81
  200. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  201. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -106
  202. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  203. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  204. package/data-structures/Hinkal/resetMerkleTrees.mjs +54 -108
  205. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  206. package/data-structures/IndexedDB/activity-db.d.ts +0 -1
  207. package/data-structures/IndexedDB/activity-db.mjs +79 -97
  208. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  209. package/data-structures/IndexedDB/balances-db.mjs +39 -43
  210. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  211. package/data-structures/IndexedDB/contact-db.mjs +31 -36
  212. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  213. package/data-structures/IndexedDB/signatures-db.mjs +40 -26
  214. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  215. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -82
  216. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  217. package/data-structures/TokenDBs/token-visibility-db.mjs +36 -22
  218. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  219. package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
  220. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  221. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
  222. package/data-structures/crypto-keys/keys.cjs +1 -1
  223. package/data-structures/crypto-keys/keys.d.ts +10 -0
  224. package/data-structures/crypto-keys/keys.mjs +106 -47
  225. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  226. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +2 -3
  227. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
  228. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
  229. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +2 -3
  230. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
  231. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  232. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +2 -3
  233. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
  234. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  235. package/data-structures/event-service/evm/AbstractEventService.d.ts +2 -4
  236. package/data-structures/event-service/evm/AbstractEventService.mjs +13 -13
  237. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  238. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
  239. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +3 -3
  240. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  241. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -1
  242. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +6 -2
  243. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  244. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +5 -10
  245. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +40 -40
  246. package/data-structures/event-service/index.d.ts +0 -4
  247. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  248. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +2 -3
  249. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
  250. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  251. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +3 -4
  252. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
  253. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  254. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +10 -4
  255. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +7 -10
  256. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  257. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +2 -3
  258. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +2 -2
  259. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  260. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +2 -1
  261. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +2 -1
  262. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  263. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +16 -11
  264. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +66 -64
  265. package/data-structures/index.d.ts +0 -3
  266. package/data-structures/presale/PresaleContractWrapper.cjs +1 -1
  267. package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
  268. package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
  269. package/data-structures/provider-adapter/IProviderAdapter.d.ts +16 -11
  270. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  271. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +18 -18
  272. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  273. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +9 -9
  274. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  275. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +4 -6
  276. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  277. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +4 -6
  278. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  279. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +4 -6
  280. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  281. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +4 -5
  282. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  283. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +4 -6
  284. package/error-handling/error-codes.constants.cjs +1 -1
  285. package/error-handling/error-codes.constants.d.ts +0 -1
  286. package/error-handling/error-codes.constants.mjs +3 -4
  287. package/error-handling/get-error.message.cjs +1 -1
  288. package/error-handling/get-error.message.mjs +27 -22
  289. package/error-handling/handleErrorRestore.cjs +1 -0
  290. package/error-handling/handleErrorRestore.d.ts +2 -0
  291. package/error-handling/handleErrorRestore.mjs +11 -0
  292. package/error-handling/index.d.ts +1 -0
  293. package/functions/kyc/authentoHelper.cjs +1 -0
  294. package/functions/kyc/authentoHelper.d.ts +12 -0
  295. package/functions/kyc/authentoHelper.mjs +30 -0
  296. package/functions/kyc/zkMeHelper.cjs +1 -1
  297. package/functions/kyc/zkMeHelper.mjs +16 -17
  298. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  299. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  300. package/functions/pre-transaction/constructAdminData.mjs +18 -12
  301. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  302. package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -1
  303. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  304. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  305. package/functions/pre-transaction/getFlatFees.mjs +2 -3
  306. package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  307. package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
  308. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  309. package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -22
  310. package/functions/pre-transaction/interaction-to-action.cjs +1 -1
  311. package/functions/pre-transaction/interaction-to-action.mjs +2 -3
  312. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  313. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  314. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  315. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  316. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +9 -1
  317. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +34 -19
  318. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  319. package/functions/pre-transaction/sendV0Transaction.mjs +50 -53
  320. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  321. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  322. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  323. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  324. package/functions/private-wallet/emporium.helpers.d.ts +12 -10
  325. package/functions/private-wallet/emporium.helpers.mjs +139 -102
  326. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  327. package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -1
  328. package/functions/private-wallet/emporium.swap.helpers.mjs +106 -103
  329. package/functions/private-wallet/opProducer.cjs +1 -1
  330. package/functions/private-wallet/opProducer.mjs +1 -1
  331. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  332. package/functions/snarkjs/common.snarkjs.mjs +21 -18
  333. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  334. package/functions/snarkjs/constructEmporiumProof.mjs +49 -49
  335. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  336. package/functions/snarkjs/constructSolanaZkProof.mjs +11 -10
  337. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  338. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +10 -11
  339. package/functions/utils/addresses.cjs +1 -1
  340. package/functions/utils/addresses.d.ts +0 -1
  341. package/functions/utils/addresses.mjs +11 -12
  342. package/functions/utils/cacheFunctions.cjs +1 -1
  343. package/functions/utils/cacheFunctions.d.ts +1 -1
  344. package/functions/utils/cacheFunctions.mjs +55 -54
  345. package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  346. package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
  347. package/functions/utils/create-provider.cjs +1 -1
  348. package/functions/utils/create-provider.d.ts +2 -2
  349. package/functions/utils/create-provider.mjs +7 -11
  350. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  351. package/functions/utils/encryptInputForEnclave.mjs +9 -9
  352. package/functions/utils/ethers-formatter.utils.d.ts +1 -1
  353. package/functions/utils/external-action.utils.cjs +1 -1
  354. package/functions/utils/external-action.utils.mjs +2 -2
  355. package/functions/utils/get-hinkal-approvals.cjs +1 -0
  356. package/functions/utils/get-hinkal-approvals.d.ts +3 -0
  357. package/functions/utils/get-hinkal-approvals.mjs +38 -0
  358. package/functions/utils/getContractAddress.cjs +1 -0
  359. package/functions/utils/getContractAddress.d.ts +2 -0
  360. package/functions/utils/getContractAddress.mjs +9 -0
  361. package/functions/utils/getDataFromTransaction.cjs +1 -1
  362. package/functions/utils/getDataFromTransaction.d.ts +0 -11
  363. package/functions/utils/getDataFromTransaction.mjs +26 -50
  364. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  365. package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
  366. package/functions/utils/getSignerFromContract.cjs +1 -0
  367. package/functions/utils/getSignerFromContract.d.ts +3 -0
  368. package/functions/utils/getSignerFromContract.mjs +16 -0
  369. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  370. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  371. package/functions/utils/getUtxosFromReceipt.utils.mjs +14 -15
  372. package/functions/utils/inLogicMetadata.cjs +1 -1
  373. package/functions/utils/inLogicMetadata.mjs +2 -2
  374. package/functions/utils/index.d.ts +1 -0
  375. package/functions/utils/involves-permit2-op.cjs +1 -1
  376. package/functions/utils/involves-permit2-op.d.ts +1 -0
  377. package/functions/utils/involves-permit2-op.mjs +6 -4
  378. package/functions/utils/mutexes.utils.cjs +1 -1
  379. package/functions/utils/mutexes.utils.d.ts +1 -1
  380. package/functions/utils/mutexes.utils.mjs +3 -3
  381. package/functions/utils/nftTokenFunctions.cjs +1 -1
  382. package/functions/utils/nftTokenFunctions.mjs +23 -9
  383. package/functions/utils/prepareHinkal.cjs +1 -1
  384. package/functions/utils/prepareHinkal.d.ts +13 -6
  385. package/functions/utils/prepareHinkal.mjs +72 -45
  386. package/functions/utils/publicBalance.utils.cjs +1 -1
  387. package/functions/utils/publicBalance.utils.d.ts +1 -1
  388. package/functions/utils/publicBalance.utils.mjs +62 -57
  389. package/functions/utils/replaceAddressInCalldata.cjs +1 -0
  390. package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
  391. package/functions/utils/replaceAddressInCalldata.mjs +7 -0
  392. package/functions/utils/rpc-int-encode.cjs +1 -1
  393. package/functions/utils/rpc-int-encode.d.ts +1 -2
  394. package/functions/utils/rpc-int-encode.mjs +3 -6
  395. package/functions/utils/solanaMint.utils.cjs +1 -1
  396. package/functions/utils/solanaMint.utils.mjs +6 -6
  397. package/functions/utils/string.utils.cjs +1 -1
  398. package/functions/utils/string.utils.d.ts +0 -1
  399. package/functions/utils/string.utils.mjs +14 -18
  400. package/functions/utils/token-check.utils.cjs +1 -1
  401. package/functions/utils/token-check.utils.d.ts +0 -3
  402. package/functions/utils/token-check.utils.mjs +7 -18
  403. package/functions/utils/upToDateState.cjs +1 -1
  404. package/functions/utils/upToDateState.d.ts +1 -1
  405. package/functions/utils/upToDateState.mjs +4 -4
  406. package/functions/utils/walletBalances.utils.cjs +1 -1
  407. package/functions/utils/walletBalances.utils.d.ts +17 -2
  408. package/functions/utils/walletBalances.utils.mjs +36 -5
  409. package/functions/web3/EIP-712.cjs +1 -1
  410. package/functions/web3/EIP-712.d.ts +4 -4
  411. package/functions/web3/EIP-712.mjs +1 -1
  412. package/functions/web3/etherFunctions.cjs +1 -1
  413. package/functions/web3/etherFunctions.mjs +32 -29
  414. package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
  415. package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
  416. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  417. package/functions/web3/events/balanceChangedHandler.mjs +2 -3
  418. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  419. package/functions/web3/events/getApprovedBalance.d.ts +4 -3
  420. package/functions/web3/events/getApprovedBalance.mjs +44 -39
  421. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  422. package/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -3
  423. package/functions/web3/events/getInputUtxoAndBalance.mjs +150 -129
  424. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  425. package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
  426. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  427. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  428. package/functions/web3/events/getShieldedBalance.mjs +75 -73
  429. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  430. package/functions/web3/events/getTransactionLogEvents.d.ts +3 -3
  431. package/functions/web3/events/getTransactionLogEvents.mjs +41 -40
  432. package/functions/web3/events/index.d.ts +0 -1
  433. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  434. package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
  435. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +12 -16
  436. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  437. package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
  438. package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -12
  439. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  440. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  441. package/functions/web3/functionCalls/approveToken.mjs +68 -69
  442. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  443. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  444. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  445. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  446. package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  447. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
  448. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  449. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -1
  450. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  451. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
  452. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
  453. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +29 -0
  454. package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
  455. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  456. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  457. package/functions/web3/functionCalls/transactCallDirect.mjs +47 -39
  458. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  459. package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
  460. package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -56
  461. package/functions/web3/getContractMetadata.cjs +1 -1
  462. package/functions/web3/getContractMetadata.d.ts +1 -1
  463. package/functions/web3/getContractMetadata.mjs +21 -16
  464. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  465. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  466. package/functions/web3/getPublicAddressBalance.mjs +7 -6
  467. package/functions/web3/getTokenHolder.cjs +1 -1
  468. package/functions/web3/getTokenHolder.mjs +32 -31
  469. package/functions/web3/index.d.ts +0 -1
  470. package/functions/web3/lifiAPI.cjs +1 -1
  471. package/functions/web3/lifiAPI.d.ts +1 -1
  472. package/functions/web3/lifiAPI.mjs +12 -12
  473. package/functions/web3/odosAPI.cjs +1 -1
  474. package/functions/web3/odosAPI.mjs +15 -3
  475. package/functions/web3/okxAPI.cjs +1 -1
  476. package/functions/web3/okxAPI.mjs +13 -13
  477. package/functions/web3/oneInchAPI.cjs +1 -1
  478. package/functions/web3/oneInchAPI.mjs +20 -8
  479. package/functions/web3/runContractFunction.cjs +1 -1
  480. package/functions/web3/runContractFunction.d.ts +6 -5
  481. package/functions/web3/runContractFunction.mjs +60 -46
  482. package/functions/web3/uniswapAPI.cjs +1 -1
  483. package/functions/web3/uniswapAPI.d.ts +2 -2
  484. package/functions/web3/uniswapAPI.mjs +49 -38
  485. package/index.cjs +1 -1
  486. package/index.mjs +912 -914
  487. package/package.json +4 -6
  488. package/providers/CustomEthersProvider.d.ts +1 -1
  489. package/providers/EthersProviderAdapter.cjs +1 -1
  490. package/providers/EthersProviderAdapter.d.ts +21 -14
  491. package/providers/EthersProviderAdapter.mjs +86 -53
  492. package/providers/SolanaProviderAdapter.cjs +1 -1
  493. package/providers/SolanaProviderAdapter.d.ts +12 -8
  494. package/providers/SolanaProviderAdapter.mjs +31 -16
  495. package/providers/WagmiProviderAdapter.cjs +1 -1
  496. package/providers/WagmiProviderAdapter.d.ts +20 -14
  497. package/providers/WagmiProviderAdapter.mjs +126 -91
  498. package/providers/prepareEthersHinkal.cjs +1 -1
  499. package/providers/prepareEthersHinkal.d.ts +2 -2
  500. package/providers/prepareEthersHinkal.mjs +9 -16
  501. package/providers/prepareWagmiHinkal.cjs +1 -1
  502. package/providers/prepareWagmiHinkal.mjs +9 -17
  503. package/types/TransactionSimulator.types.d.ts +9 -2
  504. package/types/activities.types.d.ts +2 -5
  505. package/types/admin.types.cjs +1 -1
  506. package/types/admin.types.d.ts +6 -0
  507. package/types/admin.types.mjs +2 -2
  508. package/types/balances.types.d.ts +1 -0
  509. package/types/big-intable.types.d.ts +3 -2
  510. package/types/bridging.types.d.ts +29 -0
  511. package/types/cache.types.cjs +1 -1
  512. package/types/cache.types.d.ts +3 -6
  513. package/types/cache.types.mjs +1 -1
  514. package/types/coingecko.types.d.ts +0 -5
  515. package/types/duneAPI.types.d.ts +9 -0
  516. package/types/ethereum-network.types.d.ts +10 -11
  517. package/types/hinkal.types.cjs +1 -1
  518. package/types/hinkal.types.d.ts +1 -1
  519. package/types/hinkal.types.mjs +18 -18
  520. package/types/index.d.ts +2 -2
  521. package/types/proxy.types.d.ts +3 -6
  522. package/types/sandbox.types.cjs +1 -1
  523. package/types/sandbox.types.d.ts +39 -10
  524. package/types/sandbox.types.mjs +2 -2
  525. package/types/scheduled-transactions.types.cjs +1 -1
  526. package/types/scheduled-transactions.types.d.ts +6 -0
  527. package/types/scheduled-transactions.types.mjs +3 -2
  528. package/types/session.types.d.ts +0 -2
  529. package/types/solana.types.d.ts +0 -9
  530. package/types/token-prices.types.cjs +1 -1
  531. package/types/token-prices.types.d.ts +0 -7
  532. package/types/token-prices.types.mjs +2 -4
  533. package/types/transactions.types.cjs +1 -1
  534. package/types/transactions.types.d.ts +2 -3
  535. package/types/transactions.types.mjs +6 -7
  536. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  537. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  538. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  539. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  540. package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
  541. package/webworker/utxoWorker/utxoWorkerLogic.mjs +1 -1
  542. package/webworker/viteWorkerURL.constant.cjs +3 -3
  543. package/webworker/viteWorkerURL.constant.mjs +3 -3
  544. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  545. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  546. package/API/get-token-price-chart-data.cjs +0 -1
  547. package/API/get-token-price-chart-data.d.ts +0 -16
  548. package/API/get-token-price-chart-data.mjs +0 -13
  549. package/API/onrampCalls.cjs +0 -1
  550. package/API/onrampCalls.d.ts +0 -20
  551. package/API/onrampCalls.mjs +0 -15
  552. package/API/unspent-utxos-calls.cjs +0 -1
  553. package/API/unspent-utxos-calls.d.ts +0 -26
  554. package/API/unspent-utxos-calls.mjs +0 -26
  555. package/data-structures/AccountActions/AccountActions.cjs +0 -1
  556. package/data-structures/AccountActions/AccountActions.d.ts +0 -18
  557. package/data-structures/AccountActions/AccountActions.mjs +0 -78
  558. package/data-structures/AccountActions/index.d.ts +0 -1
  559. package/data-structures/BlockchainEvent/BlockchainEvent.cjs +0 -1
  560. package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +0 -14
  561. package/data-structures/BlockchainEvent/BlockchainEvent.mjs +0 -41
  562. package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +0 -1
  563. package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +0 -20
  564. package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +0 -124
  565. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +0 -1
  566. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +0 -15
  567. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +0 -64
  568. package/data-structures/PublicBalance/index.d.ts +0 -2
  569. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +0 -1
  570. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +0 -11
  571. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +0 -21
  572. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
  573. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +0 -6
  574. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -16
  575. package/data-structures/event-service/helpers/ClientEventHelper.cjs +0 -1
  576. package/data-structures/event-service/helpers/ClientEventHelper.d.ts +0 -11
  577. package/data-structures/event-service/helpers/ClientEventHelper.mjs +0 -26
  578. package/data-structures/event-service/helpers/PollingEventHelper.cjs +0 -1
  579. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +0 -5
  580. package/data-structures/event-service/helpers/PollingEventHelper.mjs +0 -14
  581. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +0 -1
  582. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +0 -11
  583. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +0 -22
  584. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
  585. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +0 -6
  586. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -16
  587. package/functions/utils/enum.utils.cjs +0 -1
  588. package/functions/utils/enum.utils.mjs +0 -14
  589. package/functions/utils/socket.utils.cjs +0 -1
  590. package/functions/utils/socket.utils.d.ts +0 -1
  591. package/functions/utils/socket.utils.mjs +0 -12
  592. package/functions/web3/crypto.cjs +0 -1
  593. package/functions/web3/crypto.d.ts +0 -1
  594. package/functions/web3/crypto.mjs +0 -7
  595. package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
  596. package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
  597. package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
  598. package/types/events.types.cjs +0 -1
  599. package/types/events.types.d.ts +0 -9
  600. package/types/events.types.mjs +0 -5
  601. package/types/onramp.types.cjs +0 -1
  602. package/types/onramp.types.d.ts +0 -58
  603. package/types/onramp.types.mjs +0 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("ethers"),m=require("./emporium.helpers.cjs"),F=require("../../constants/addresses.constants.cjs"),h=require("../../types/external-action.types.cjs"),g=require("../../types/ethereum-network.types.cjs"),L=require("../pre-transaction/getExternalSwapAddress.cjs"),U=require("../utils/string.utils.cjs"),w=require("../../constants/protocol.constants.cjs");require("../../constants/token-data/index.cjs");const A=require("../utils/caseInsensitive.utils.cjs"),I=require("../../error-handling/logger.cjs"),v=require("../../constants/token-data/ERC20Registry.cjs"),P=(a,e,t,n,s,r,i=!1)=>{const o=_.BigNumber.from(r).toBigInt(),c={tokenIn:e,tokenOut:n,fee:o,recipient:s,amountIn:t,amountOutMinimum:0,sqrtPriceLimitX96:0},C=["function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)"],E=new _.ethers.Contract(a,C);return m.emporiumOp({contract:E,func:"exactInputSingle",args:[c],invokeWallet:i})},T=(a,e,t,n,s,r,i=!1)=>{const o=L.getExternalSwapAddress(a,e),c=U.replaceAllInstances(n,o.slice(2),s.slice(2));return m.emporiumOp({contract:t,callDataString:c,value:r,invokeWallet:i})},z=(a,e)=>{const n=v.getERC20Registry(e).find(s=>s.symbol==="USDT");return n?A.caseInsensitiveEqual(a,n.erc20TokenAddress):!1},x=async(a,e,t,n,s,r)=>{const i=t.address;if(z(i,a))try{(await t.allowance(n,s)).toBigInt()>0n&&e.push(m.createApproveEmporiumOp(t,s,0n,r))}catch(o){I.Logger.error("Error in nullifyUsdtApprovalIfNeeded",o)}},B=async(a,e,t,n,s,r,i,o)=>{if(t!==w.zeroAddress){const c=F.SWAP_FEE_TAKER_ADDRESSES[e],C=a.getContractWithFetcher(e,g.ContractType.ERC20Contract,t),E=await C.balanceOf(n);await x(e,r,C,n,c,i),r.push(m.createApproveEmporiumOp(C,c,2n**256n-1n,i));const y=["function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"],p=new _.ethers.Contract(c,y),O=s;r.push(m.emporiumOp({contract:p,func:"takeSwapFee",args:[t,E,w.HINKAL_SWAP_VARIABLE_RATE,O],invokeWallet:i}))}else{const c=s;r.push(m.emporiumOp({contract:c,value:o*w.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:i}))}},K=async(a,e,t,n,s,r,i,o,c,C,E,y,p=!1)=>{const O=i<0n?-1n*i:i,f=[],S=F.NATIVE_TOKEN_WRAPPER_ADDRESSES[e];let q=!1,R;if(t===h.ExternalActionId.OneInch||t===h.ExternalActionId.Lifi){if(r!==w.zeroAddress){const b=a.getContractWithFetcher(e,g.ContractType.ERC20Contract,r);f.push(m.createApproveEmporiumOp(b,n,O,p))}let u=0n;r===w.zeroAddress&&(u+=O),o&&c===w.zeroAddress&&o<0n&&(u+=-1n*o);const l=u>0n?u:void 0;return R=T(e,t,n,s,E,l,p),f.push(R),(t===h.ExternalActionId.OneInch||C&&t===h.ExternalActionId.Lifi)&&c&&o!==void 0&&await B(a,e,c,E,y,f,p,o),f}if(!c||!o)throw Error("There should be output token for UniSwap and Odos");if(r===w.zeroAddress){const u=a.getContractWithFetcher(e,g.ContractType.ERC20Contract,S);f.push(m.emporiumOp({contract:u,func:"deposit",value:O,invokeWallet:p})),r=S}let D=0n;if(c===w.zeroAddress&&(c=S,q=!0,D=await a.getContractWithFetcher(e,g.ContractType.ERC20Contract,S).balanceOf(E)),r!==w.zeroAddress){const u=a.getContractWithFetcher(e,g.ContractType.ERC20Contract,r);await x(e,f,u,E,n,p),f.push(m.createApproveEmporiumOp(u,n,O,p))}if(t===h.ExternalActionId.Uniswap?R=P(n,r,O,c,E,s,p):R=T(e,t,n,s,E,void 0,p),f.push(R),await B(a,e,c,E,y,f,p,o),q){const u=F.WRAPPER_TOKEN_EXCHANGE_ADDRESSES[e],l=a.getContractWithFetcher(e,g.ContractType.ERC20Contract,S);f.push(m.createApproveEmporiumOp(l,u,2n**256n-1n,p));const b=["function withdrawBalanceDifference(uint256 beforeBalance) external"],N=new _.ethers.Contract(u,b);f.push(m.emporiumOp({contract:N,func:"withdrawBalanceDifference",args:[D],invokeWallet:p}))}return f};exports.createSwapToEmporiumOpForUniswap=P;exports.createSwapToEmporiumOps=K;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("ethers"),E=require("./emporium.helpers.cjs"),_=require("../../constants/addresses.constants.cjs"),I=require("../../types/external-action.types.cjs"),h=require("../../types/ethereum-network.types.cjs"),x=require("../pre-transaction/getExternalSwapAddress.cjs"),B=require("../utils/string.utils.cjs"),C=require("../../constants/protocol.constants.cjs");require("../../constants/token-data/index.cjs");const N=require("../utils/caseInsensitive.utils.cjs"),U=require("../../error-handling/logger.cjs"),L=require("../utils/getContractAddress.cjs"),v=require("../../constants/token-data/ERC20Registry.cjs"),A=(e,n,c,a,t,s,o=!1)=>{const r=BigInt(s),m={tokenIn:n,tokenOut:a,fee:r,recipient:t,amountIn:c,amountOutMinimum:0,sqrtPriceLimitX96:0},f=["function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)"],g=new F.ethers.Contract(e,f);return E.emporiumOp({contract:g,func:"exactInputSingle",args:[m],invokeWallet:o})},l=(e,n,c,a,t,s,o=!1)=>{const r=x.getExternalSwapAddress(e,n),m=B.replaceAllInstances(a,r.slice(2),t.slice(2));return E.emporiumOp({contract:c,callDataString:m,value:s,invokeWallet:o})},z=(e,n)=>{const a=v.getERC20Registry(n).find(t=>t.symbol==="USDT");return a?N.caseInsensitiveEqual(e,a.erc20TokenAddress):!1},q=async(e,n,c,a,t,s)=>{const o=L.getContractAddress(c);if(z(o,e.getCurrentChainId()))try{await c.allowance(a,t)>0n&&n.push(E.createApproveEmporiumOp(c,t,0n,s))}catch(r){U.Logger.error("Error in nullifyUsdtApprovalIfNeeded",r)}},T=async(e,n,c,a,t,s,o)=>{if(n!==C.zeroAddress){const r=_.SWAP_FEE_TAKER_ADDRESSES[e.getCurrentChainId()],m=e.getContractWithFetcher(h.ContractType.ERC20Contract,n),f=await m.balanceOf(c);await q(e,t,m,c,r,s),t.push(E.createApproveEmporiumOp(m,r,2n**256n-1n,s));const g=["function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"],i=new F.ethers.Contract(r,g),w=a;t.push(E.emporiumOp({contract:i,func:"takeSwapFee",args:[n,f,C.HINKAL_SWAP_VARIABLE_RATE,w],invokeWallet:s}))}else{const r=a;t.push(E.emporiumOp({contract:r,value:o*C.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:s}))}},K=async(e,n,c,a,t,s,o,r,m,f,g,i=!1)=>{const w=s<0n?-1n*s:s,b=e.getCurrentChainId(),u=[],O=_.NATIVE_TOKEN_WRAPPER_ADDRESSES[b];let d=!1,S;if(n===I.ExternalActionId.OneInch||n===I.ExternalActionId.Lifi){if(t!==C.zeroAddress){const y=e.getContractWithFetcher(h.ContractType.ERC20Contract,t);u.push(E.createApproveEmporiumOp(y,c,w,i))}let p=0n;t===C.zeroAddress&&(p+=w),o&&r===C.zeroAddress&&o<0n&&(p+=-1n*o);const R=p>0n?p:void 0;return S=l(e,n,c,a,f,R,i),u.push(S),(n===I.ExternalActionId.OneInch||m&&n===I.ExternalActionId.Lifi)&&r&&o!==void 0&&await T(e,r,f,g,u,i,o),u}if(!r||!o)throw Error("There should be output token for UniSwap and Odos");if(t===C.zeroAddress){const p=e.getContractWithFetcher(h.ContractType.ERC20Contract,O);u.push(E.emporiumOp({contract:p,func:"deposit",value:w,invokeWallet:i})),t=O}let D=0n;if(r===C.zeroAddress&&(r=O,d=!0,D=await e.getContractWithFetcher(h.ContractType.ERC20Contract,O).balanceOf(f)),t!==C.zeroAddress){const p=e.getContractWithFetcher(h.ContractType.ERC20Contract,t);await q(e,u,p,f,c,i),u.push(E.createApproveEmporiumOp(p,c,w,i))}if(n===I.ExternalActionId.Uniswap?S=A(c,t,w,r,f,a,i):S=l(e,n,c,a,f,void 0,i),u.push(S),await T(e,r,f,g,u,i,o),d){const p=_.WRAPPER_TOKEN_EXCHANGE_ADDRESSES[b],R=e.getContractWithFetcher(h.ContractType.ERC20Contract,O);u.push(E.createApproveEmporiumOp(R,p,2n**256n-1n,i));const y=["function withdrawBalanceDifference(uint256 beforeBalance) external"],P=new F.ethers.Contract(p,y);u.push(E.emporiumOp({contract:P,func:"withdrawBalanceDifference",args:[D],invokeWallet:i}))}return u};exports.createSwapToEmporiumOpForUniswap=A;exports.createSwapToEmporiumOpFromData=l;exports.createSwapToEmporiumOps=K;exports.nullifyUsdtApprovalIfNeeded=q;
@@ -1,4 +1,7 @@
1
+ import { ethers } from 'ethers';
1
2
  import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
2
3
  import { ExternalActionId } from '../../types/external-action.types';
3
4
  export declare const createSwapToEmporiumOpForUniswap: (routerAddress: string, inputTokenAddress: string, positiveAmountInput: bigint, outputTokenAddress: string, recipient: string, data: string, invokeWallet?: boolean) => string;
4
- export declare const createSwapToEmporiumOps: (hinkal: IHinkal, chainId: number, externalActionId: ExternalActionId, routerAddress: string, data: string, inputTokenAddress: string, inputAmount: bigint, outputAmount: bigint | undefined, outputTokenAddress: string | undefined, isTheSameChainSwap: boolean, walletAddress: string, relay: string, invokeWallet?: boolean) => Promise<string[]>;
5
+ export declare const createSwapToEmporiumOpFromData: (hinkal: IHinkal, externalActionId: ExternalActionId, routerAddress: string, data: string, walletAddress: string, value?: bigint, invokeWallet?: boolean) => string;
6
+ export declare const nullifyUsdtApprovalIfNeeded: (hinkal: IHinkal, ops: string[], tokenContract: ethers.Contract, walletAddress: string, spenderAddress: string, invokeWallet: boolean) => Promise<void>;
7
+ export declare const createSwapToEmporiumOps: (hinkal: IHinkal, externalActionId: ExternalActionId, routerAddress: string, data: string, inputTokenAddress: string, inputAmount: bigint, outputAmount: bigint | undefined, outputTokenAddress: string | undefined, isTheSameChainSwap: boolean, walletAddress: string, relay: string, invokeWallet?: boolean) => Promise<string[]>;
@@ -1,155 +1,158 @@
1
- import { BigNumber as K, ethers as _ } from "ethers";
2
- import { emporiumOp as u, createApproveEmporiumOp as F } from "./emporium.helpers.mjs";
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 h } from "../../types/external-action.types.mjs";
1
+ import { ethers as D } from "ethers";
2
+ import { emporiumOp as u, createApproveEmporiumOp as I } from "./emporium.helpers.mjs";
3
+ import { NATIVE_TOKEN_WRAPPER_ADDRESSES as K, WRAPPER_TOKEN_EXCHANGE_ADDRESSES as T, SWAP_FEE_TAKER_ADDRESSES as q } from "../../constants/addresses.constants.mjs";
4
+ import { ExternalActionId as O } from "../../types/external-action.types.mjs";
5
5
  import { ContractType as g } from "../../types/ethereum-network.types.mjs";
6
- import { getExternalSwapAddress as X } from "../pre-transaction/getExternalSwapAddress.mjs";
7
- import { replaceAllInstances as H } from "../utils/string.utils.mjs";
8
- import { zeroAddress as S, HINKAL_SWAP_VARIABLE_RATE as N } from "../../constants/protocol.constants.mjs";
6
+ import { getExternalSwapAddress as V } from "../pre-transaction/getExternalSwapAddress.mjs";
7
+ import { replaceAllInstances as X } from "../utils/string.utils.mjs";
8
+ import { zeroAddress as w, HINKAL_SWAP_VARIABLE_RATE as P } from "../../constants/protocol.constants.mjs";
9
9
  import "../../constants/token-data/index.mjs";
10
- import { caseInsensitiveEqual as M } from "../utils/caseInsensitive.utils.mjs";
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,
10
+ import { caseInsensitiveEqual as H } from "../utils/caseInsensitive.utils.mjs";
11
+ import { Logger as M } from "../../error-handling/logger.mjs";
12
+ import { getContractAddress as l } from "../utils/getContractAddress.mjs";
13
+ import { getERC20Registry as v } from "../../constants/token-data/ERC20Registry.mjs";
14
+ const z = (t, c, a, e, n, i, o = !1) => {
15
+ const r = BigInt(i), C = {
16
+ tokenIn: c,
17
+ tokenOut: e,
18
+ fee: r,
19
+ recipient: n,
20
+ amountIn: a,
20
21
  amountOutMinimum: 0,
21
22
  sqrtPriceLimitX96: 0
22
- }, w = [
23
+ }, m = [
23
24
  "function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)"
24
- ], E = new _.Contract(c, w);
25
+ ], h = new D.Contract(t, m);
25
26
  return u({
26
- contract: E,
27
+ contract: h,
27
28
  func: "exactInputSingle",
28
- args: [e],
29
- invokeWallet: f
29
+ args: [C],
30
+ invokeWallet: o
30
31
  });
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));
32
+ }, U = (t, c, a, e, n, i, o = !1) => {
33
+ const r = V(t, c), C = X(e, r.slice(2), n.slice(2));
33
34
  return u({
34
- contract: r,
35
- callDataString: e,
36
- value: n,
37
- invokeWallet: f
35
+ contract: a,
36
+ callDataString: C,
37
+ value: i,
38
+ invokeWallet: o
38
39
  });
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))
40
+ }, G = (t, c) => {
41
+ const e = v(c).find((n) => n.symbol === "USDT");
42
+ return e ? H(t, e.erc20TokenAddress) : !1;
43
+ }, N = async (t, c, a, e, n, i) => {
44
+ const o = l(a);
45
+ if (G(o, t.getCurrentChainId()))
45
46
  try {
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);
47
+ await a.allowance(e, n) > 0n && c.push(I(a, n, 0n, i));
48
+ } catch (r) {
49
+ M.error("Error in nullifyUsdtApprovalIfNeeded", r);
49
50
  }
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
- await L(
51
+ }, L = async (t, c, a, e, n, i, o) => {
52
+ if (c !== w) {
53
+ const r = q[t.getCurrentChainId()], C = t.getContractWithFetcher(g.ERC20Contract, c), m = await C.balanceOf(a);
54
+ await N(
54
55
  t,
55
56
  n,
56
- w,
57
+ C,
57
58
  a,
58
- e,
59
- f
60
- ), n.push(F(w, e, 2n ** 256n - 1n, f));
61
- const b = [
59
+ r,
60
+ i
61
+ ), n.push(I(C, r, 2n ** 256n - 1n, i));
62
+ const h = [
62
63
  "function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"
63
- ], s = new _.Contract(e, b), C = i;
64
+ ], f = new D.Contract(r, h), E = e;
64
65
  n.push(
65
66
  u({
66
- contract: s,
67
+ contract: f,
67
68
  func: "takeSwapFee",
68
- args: [r, E, N, C],
69
- invokeWallet: f
69
+ args: [c, m, P, E],
70
+ invokeWallet: i
70
71
  })
71
72
  );
72
73
  } else {
73
- const e = i;
74
+ const r = e;
74
75
  n.push(
75
76
  u({
76
- contract: e,
77
- value: o * N / 10000n,
78
- invokeWallet: f
77
+ contract: r,
78
+ value: o * P / 10000n,
79
+ invokeWallet: i
79
80
  })
80
81
  );
81
82
  }
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));
83
+ }, ct = async (t, c, a, e, n, i, o, r, C, m, h, f = !1) => {
84
+ const E = i < 0n ? -1n * i : i, y = t.getCurrentChainId(), p = [], S = K[y];
85
+ let _ = !1, R;
86
+ if (c === O.OneInch || c === O.Lifi) {
87
+ if (n !== w) {
88
+ const b = t.getContractWithFetcher(g.ERC20Contract, n);
89
+ p.push(I(b, a, E, f));
89
90
  }
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(
91
+ let s = 0n;
92
+ n === w && (s += E), o && r === w && o < 0n && (s += -1n * o);
93
+ const F = s > 0n ? s : void 0;
94
+ return R = U(
94
95
  t,
95
- r,
96
+ c,
96
97
  a,
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;
98
+ e,
99
+ m,
100
+ F,
101
+ f
102
+ ), p.push(R), (c === O.OneInch || C && c === O.Lifi) && r && o !== void 0 && await L(t, r, m, h, p, f, o), p;
102
103
  }
103
- if (!e || !o)
104
+ if (!r || !o)
104
105
  throw Error("There should be output token for UniSwap and Odos");
105
- if (n === S) {
106
- const p = c.getContractWithFetcher(t, g.ERC20Contract, R);
107
- m.push(
106
+ if (n === w) {
107
+ const s = t.getContractWithFetcher(g.ERC20Contract, S);
108
+ p.push(
108
109
  u({
109
- contract: p,
110
+ contract: s,
110
111
  func: "deposit",
111
- value: C,
112
- invokeWallet: s
112
+ value: E,
113
+ invokeWallet: f
113
114
  })
114
- ), n = R;
115
+ ), n = S;
115
116
  }
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));
117
+ let B = 0n;
118
+ if (r === w && (r = S, _ = !0, B = await t.getContractWithFetcher(g.ERC20Contract, S).balanceOf(m)), n !== w) {
119
+ const s = t.getContractWithFetcher(g.ERC20Contract, n);
120
+ await N(t, p, s, m, a, f), p.push(I(s, a, E, f));
120
121
  }
121
- if (r === h.Uniswap ? O = G(
122
+ if (c === O.Uniswap ? R = z(
122
123
  a,
123
124
  n,
124
- C,
125
- e,
126
125
  E,
127
- i,
128
- s
129
- ) : O = U(
130
- t,
131
126
  r,
127
+ m,
128
+ e,
129
+ f
130
+ ) : R = U(
131
+ t,
132
+ c,
132
133
  a,
133
- i,
134
- E,
134
+ e,
135
+ m,
135
136
  void 0,
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(
137
+ f
138
+ ), p.push(R), await L(t, r, m, h, p, f, o), _) {
139
+ const s = T[y], F = t.getContractWithFetcher(g.ERC20Contract, S);
140
+ p.push(I(F, s, 2n ** 256n - 1n, f));
141
+ const b = ["function withdrawBalanceDifference(uint256 beforeBalance) external"], x = new D.Contract(s, b);
142
+ p.push(
142
143
  u({
143
144
  contract: x,
144
145
  func: "withdrawBalanceDifference",
145
- args: [P],
146
- invokeWallet: s
146
+ args: [B],
147
+ invokeWallet: f
147
148
  })
148
149
  );
149
150
  }
150
- return m;
151
+ return p;
151
152
  };
152
153
  export {
153
- G as createSwapToEmporiumOpForUniswap,
154
- nt as createSwapToEmporiumOps
154
+ z as createSwapToEmporiumOpForUniswap,
155
+ U as createSwapToEmporiumOpFromData,
156
+ ct as createSwapToEmporiumOps,
157
+ N as nullifyUsdtApprovalIfNeeded
155
158
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../externalABIs/index.cjs"),p=require("ethers"),d=require("./emporium.helpers.cjs");var o=(e=>(e[e.Erc20Token=0]="Erc20Token",e[e.Uniswap=1]="Uniswap",e))(o||{});const h=(e,c,n,i,s,a)=>{let r="";switch(e){case 0:r=t.ERC20ABI;break;case 1:r=t.ISwapRouterABI;break}if(!r)throw Error("No ABI match in produceOp");const u=new p.ethers.Contract(c,r);return d.emporiumOp({contract:u,func:n,args:i,invokeWallet:s,value:a})};exports.OpType=o;exports.produceOp=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../externalABIs/index.cjs"),p=require("ethers"),d=require("./emporium.helpers.cjs");var o=(e=>(e[e.Erc20Token=0]="Erc20Token",e[e.Uniswap=1]="Uniswap",e))(o||{});const h=(e,c,n,i,s,a)=>{let r=[];switch(e){case 0:r=t.ERC20ABI;break;case 1:r=t.ISwapRouterABI;break}if(!r)throw Error("No ABI match in produceOp");const u=new p.ethers.Contract(c,r);return d.emporiumOp({contract:u,func:n,args:i,invokeWallet:s,value:a})};exports.OpType=o;exports.produceOp=h;
@@ -3,7 +3,7 @@ import { ethers as p } from "ethers";
3
3
  import { emporiumOp as u } from "./emporium.helpers.mjs";
4
4
  var w = /* @__PURE__ */ ((r) => (r[r.Erc20Token = 0] = "Erc20Token", r[r.Uniswap = 1] = "Uniswap", r))(w || {});
5
5
  const E = (r, t, e, c, a, n) => {
6
- let o = "";
6
+ let o = [];
7
7
  switch (r) {
8
8
  case 0:
9
9
  o = s;
@@ -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,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;
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(i=>t[r]?"0":i.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,i=0n;for(let l=0;l<e[n].length;l+=1)r+=e[n][l].amount;for(let l=0;l<s[n].length;l+=1)i+=s[n][l].amount;i-r<0?t?a.push(i-r):a.push(d.CIRCOM_P+(i-r)):a.push(i-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,i)=>a===u.HinkalLogicAction.NONE||a===u.HinkalLogicAction.APPROVE?r+t[i]>=0n?0n:r+t[i]:r>=0n?0n:r);return a===u.HinkalLogicAction.RELEASE_BUFFER?e.forEach((r,i)=>{n[i]=r>0n?-r:r}):a===u.HinkalLogicAction.EXECUTE&&s.executeApprovalChanges.forEach((r,i)=>{n[i]=r+e[i]<0n?r+e[i]: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(i=>i.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(i=>i.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,i,l,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.AbiCoder.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,i,l]);return BigInt(o.ethers.keccak256(p))%d.CIRCOM_P}else{const p=o.ethers.AbiCoder.defaultAbiCoder().encode(["uint16","address","address","uint256","bytes"],[s,t,a,typeof n=="bigint"?n:f.getExternalActionIdHash(n),r]),A=o.ethers.AbiCoder.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,i,[g.feeToken,g.flatFee,g.variableRate],k,b,[c.hinkalLogicAction,c.inHinkalAddress,c.executeApprovalChanges,c.doPreTxApproval,c.useApprovalUtxoData],m,I]),y=BigInt(o.ethers.keccak256(p)),B=BigInt(o.ethers.keccak256(A)),O=o.ethers.AbiCoder.defaultAbiCoder().encode(["uint256","uint256"],[y,B]);return BigInt(o.ethers.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 i=N(e);return 10+s.length+t.length+a.flat().length+n.flat().length+i+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;
@@ -5,7 +5,7 @@ import { UserKeys as S } from "../../data-structures/crypto-keys/keys.mjs";
5
5
  import { encryptUtxo as y } from "../../data-structures/crypto-keys/encryptDecryptUtxo.mjs";
6
6
  import { defaultHookData as O } from "../../types/circom-data.types.mjs";
7
7
  import { getExternalActionIdHash as f } from "../utils/external-action.utils.mjs";
8
- import { HinkalLogicAction as d } from "../../types/hinkal.types.mjs";
8
+ import { HinkalLogicAction as g } 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
11
  const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier())), q = (e, s, t) => {
@@ -25,10 +25,10 @@ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier()))
25
25
  }
26
26
  return r;
27
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) => {
28
+ const t = L(s), r = s.hinkalLogicAction, n = e.map((a, l) => r === g.NONE || r === g.APPROVE ? a + t[l] >= 0n ? 0n : a + t[l] : a >= 0n ? 0n : a);
29
+ return r === g.RELEASE_BUFFER ? e.forEach((a, l) => {
30
30
  n[l] = a > 0n ? -a : a;
31
- }) : r === d.EXECUTE && s.executeApprovalChanges.forEach((a, l) => {
31
+ }) : r === g.EXECUTE && s.executeApprovalChanges.forEach((a, l) => {
32
32
  n[l] = a + e[l] < 0n ? a + e[l] : 0n;
33
33
  }), n;
34
34
  }, Y = (e) => {
@@ -89,10 +89,10 @@ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier()))
89
89
  })
90
90
  ), t;
91
91
  }
92
- }, se = (e, s, t, r, n, a, l, i, m, H, C, u, g, k, b) => {
92
+ }, se = (e, s, t, r, n, a, l, i, m, C, H, d, u, k, b) => {
93
93
  const h = Object.values(m || O), v = b ?? R(r ?? E, t);
94
94
  if (e === "v1x0") {
95
- const p = o.utils.defaultAbiCoder.encode(
95
+ const p = o.AbiCoder.defaultAbiCoder().encode(
96
96
  [
97
97
  "uint16",
98
98
  "address",
@@ -114,9 +114,9 @@ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier()))
114
114
  i
115
115
  ]
116
116
  );
117
- return BigInt(o.utils.keccak256(p)) % c;
117
+ return BigInt(o.keccak256(p)) % c;
118
118
  } else {
119
- const p = o.utils.defaultAbiCoder.encode(
119
+ const p = o.AbiCoder.defaultAbiCoder().encode(
120
120
  ["uint16", "address", "address", "uint256", "bytes"],
121
121
  [
122
122
  s,
@@ -125,7 +125,7 @@ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier()))
125
125
  typeof n == "bigint" ? n : f(n),
126
126
  a
127
127
  ]
128
- ), A = o.utils.defaultAbiCoder.encode(
128
+ ), A = o.AbiCoder.defaultAbiCoder().encode(
129
129
  [
130
130
  "tuple(address, address, bytes, bytes)",
131
131
  "bytes[][]",
@@ -139,21 +139,24 @@ const $ = (e, s) => e.map((t, r) => t.map((n) => s[r] ? "0" : n.getNullifier()))
139
139
  [
140
140
  h,
141
141
  l,
142
- [g.feeToken, g.flatFee, g.variableRate],
143
- H,
142
+ [u.feeToken, u.flatFee, u.variableRate],
144
143
  C,
144
+ H,
145
145
  [
146
- u.hinkalLogicAction,
147
- u.inHinkalAddress,
148
- u.executeApprovalChanges,
149
- u.doPreTxApproval,
150
- u.useApprovalUtxoData
146
+ d.hinkalLogicAction,
147
+ d.inHinkalAddress,
148
+ d.executeApprovalChanges,
149
+ d.doPreTxApproval,
150
+ d.useApprovalUtxoData
151
151
  ],
152
152
  k,
153
153
  v
154
154
  ]
155
- ), I = BigInt(o.utils.keccak256(p)), B = BigInt(o.utils.keccak256(A)), V = o.utils.defaultAbiCoder.encode(["uint256", "uint256"], [I, B]);
156
- return BigInt(o.utils.keccak256(V)) % c;
155
+ ), I = BigInt(o.keccak256(p)), B = BigInt(o.keccak256(A)), V = o.AbiCoder.defaultAbiCoder().encode(
156
+ ["uint256", "uint256"],
157
+ [I, B]
158
+ );
159
+ return BigInt(o.keccak256(V)) % c;
157
160
  }
158
161
  }, 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
162
  if (e.startsWith("swapperMWMin0"))
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const de=require("../../data-structures/utxo/Utxo.cjs"),d=require("../../constants/protocol.constants.cjs"),le=require("../../constants/chains.constants.cjs"),ue=require("../../webworker/zkProofWorker/zkProofWorker.types.cjs"),ge=require("../../webworker/performTaskWithWorker.cjs"),pe=require("../../webworker/worker.registry.cjs"),o=require("./common.snarkjs.cjs"),Z=require("../web3/etherFunctions.cjs"),$=require("../private-wallet/emporium.helpers.cjs"),Ae=require("../../types/external-action.types.cjs"),Se=require("../../types/circom-data.types.cjs"),he=require("./generateCircomData.cjs"),fe=require("./generateZkProof.cjs"),j=require("../utils/time.utils.cjs"),qe=require("../../types/hinkal.types.cjs"),ke=require("../utils/fees.utils.cjs"),G=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=require("../../data-structures/AccountActions/AccountActions.cjs"),we=async(s,J,Q,l,f,t,e,m,T,X,w,Y,K,y=d.zeroAddress,c=le.chainIds.localhost,u=t.map(()=>!1),q=t.map(()=>0n),g,r=void 0,L=!1,p,A=void 0,V,M=d.defaultSignatureData,x,U=!0)=>{const z=o.calcAmountChanges(t,e),k=o.calcEncryptedOutputs(e),S=m.getShieldedPrivateKey(),D=de.Utxo.findCorrectRandomization(Z.randomBigInt(31),S),ee=await G.hinkalCheckTokenRegistry(V??G.createHinkalHelperFromData(c),l,o.calcAmountChanges(t,e,!0)),_=t.map(a=>a.map(i=>i.getConstructableParams())),{inCommitmentSiblings:te,inCommitmentSiblingSides:ae,accessTokenSiblings:W,accessTokenSiblingSides:b,rootHashHinkal:P,rootHashAccessToken:H}=await Ce.getMerkleTreeSiblingsAndRootHashes(c,m,_,L,ee,J,Q,U),E=await ge.performTaskWithWorker({type:pe.WorkerVariant.ZKProof,payload:{type:ue.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:_,onChainCreation:u,proverVersion:s}}}),I=o.buildOutCommitments(s,e,u),C=x??Z.randomBigInt(31),ne=He.poseidonFunction(C),n={rootHashHinkal:P,erc20TokenAddresses:l,tokenIds:f,inNullifiers:E,outTimeStamp:e.length>0?BigInt(e[0][0].timeStamp):j.getCurrentTimeInSeconds(),extraRandomization:D,amountChanges:z,outCommitments:I,rootHashAccessToken:H,calldataHash:0n,shieldedPrivateKey:S,accessTokenSiblings:W,accessTokenSiblingSides:b,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:C},re=g?Te.AccountActions.getSignerAddressFromPrivateKey(c,g):void 0,R=w,F=Ae.ExternalActionId.Emporium,N=await $.encodeEmporiumMetadata(c,w,g,Y,ne,re),h=e.length===0?"swapperMWMin0":`swapperMW${T}x${X}x${e[0].length}`,B=o.calcPublicSignalCount(h,n.erc20TokenAddresses,n.amountChanges,n.inNullifiers,n.outCommitments,f.length);if(r||(r=qe.defaultHinkalLogicArgs(z.length,m),r.interactionAddress="0x032f580aFFE7a5f17025fAF83c13B4277A880532",r.inHinkalAddress=m.getInHinkalAddress(r.interactionAddress)),s==="v1x1"){if(n.interactionAddress=r.interactionAddress,m.getInHinkalAddress(n.interactionAddress)!==r.inHinkalAddress)throw new Error("inHinkalAddress mismatch");n.externalApprovalAddresses=r?.useApprovalUtxoData?.map(({externalApprovalAddresses:a})=>a)??Array(T).fill([d.zeroAddress,d.zeroAddress,d.zeroAddress])}A||(A=ke.generateFeeStructure(q,l));const v=o.calcAmountChanges(t,e,!0);p||(p=o.getSlippageValues(v,r)),n.calldataHash=o.createCallDataHash(s,B,y,R,F,N,k,q,void 0,p,u,r,A,M);const O={outTimeStamp:j.getCurrentTimeInSeconds(),rootHashAccessToken:H,calldataHash:n.calldataHash,shieldedPrivateKey:S,accessTokenSiblings:W,accessTokenSiblingSides:b,messageSeed:C},{zkCallData:ie}=await fe.generateZkProof(s,c,h,h==="swapperMWMin0"?O:n,K),oe=o.calcStealthAddressStructure(D,S),se=await he.generateCircomData(s,I,E,P,H,v,l,t,e,k,q,B,F,R,N,y,n.calldataHash,f,oe,u,Se.defaultHookData,h==="swapperMWMin0"?O.outTimeStamp:n.outTimeStamp,r,p,A,M),ce={tokenNumber:t.length,nullifierAmount:t.length>0?t[0].length:0,outputAmount:e.length>0?e[0].length:0},me=await $.getAuthorizationDataIfNeeded(c,g);return{zkCallData:ie,circomData:se,dimData:ce,encryptedOutputs:k,authorizationData:me}};exports.constructEmporiumProof=we;
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"),Z=require("../web3/etherFunctions.cjs"),$=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"),j=require("../utils/time.utils.cjs"),ke=require("../../types/hinkal.types.cjs"),He=require("../utils/fees.utils.cjs"),G=require("../../data-structures/Hinkal/hinkalCheckTokenRegistry.cjs"),ye=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const Ce=require("./getMerkleTreeSiblingsAndRootHashes.cjs"),Te=async(s,J,K,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,r=void 0,L=!1,p,S=void 0,V,M=d.defaultSignatureData,x,U=!0)=>{const z=o.calcAmountChanges(t,e),k=o.calcEncryptedOutputs(e),h=m.getShieldedPrivateKey(),D=de.Utxo.findCorrectRandomization(Z.randomBigInt(31),h),ee=await G.hinkalCheckTokenRegistry(V??G.createHinkalHelperFromData(c),l,o.calcAmountChanges(t,e,!0)),_=t.map(a=>a.map(i=>i.getConstructableParams())),{inCommitmentSiblings:te,inCommitmentSiblingSides:ae,accessTokenSiblings:W,accessTokenSiblingSides:b,rootHashHinkal:P,rootHashAccessToken:H}=await Ce.getMerkleTreeSiblingsAndRootHashes(c,m,_,L,ee,J,K,U),E=await pe.performTaskWithWorker({type:Se.WorkerVariant.ZKProof,payload:{type:ge.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:_,onChainCreation:u,proverVersion:s}}}),I=o.buildOutCommitments(s,e,u),y=x??Z.randomBigInt(31),ne=ye.poseidonFunction(y),n={rootHashHinkal:P,erc20TokenAddresses:l,tokenIds:f,inNullifiers:E,outTimeStamp:e.length>0?BigInt(e[0][0].timeStamp):j.getCurrentTimeInSeconds(),extraRandomization:D,amountChanges:z,outCommitments:I,rootHashAccessToken:H,calldataHash:0n,shieldedPrivateKey:h,accessTokenSiblings:W,accessTokenSiblingSides:b,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:y},re=g?le.UserKeys.getSignerAddressFromPrivateKey(c,g):void 0,R=T,F=he.ExternalActionId.Emporium,N=await $.encodeEmporiumMetadata(c,T,g,X,ne,re),A=e.length===0?"swapperMWMin0":`swapperMW${C}x${Q}x${e[0].length}`,B=o.calcPublicSignalCount(A,n.erc20TokenAddresses,n.amountChanges,n.inNullifiers,n.outCommitments,f.length);if(r||(r=ke.defaultHinkalLogicArgs(z.length,m),r.interactionAddress="0x032f580aFFE7a5f17025fAF83c13B4277A880532",r.inHinkalAddress=m.getInHinkalAddress(r.interactionAddress)),s==="v1x1"){if(n.interactionAddress=r.interactionAddress,m.getInHinkalAddress(n.interactionAddress)!==r.inHinkalAddress)throw new Error("inHinkalAddress mismatch");n.externalApprovalAddresses=r?.useApprovalUtxoData?.map(({externalApprovalAddresses:a})=>a)??Array(C).fill([d.zeroAddress,d.zeroAddress,d.zeroAddress])}S||(S=He.generateFeeStructure(q,l));const v=o.calcAmountChanges(t,e,!0);p||(p=o.getSlippageValues(v,r)),n.calldataHash=o.createCallDataHash(s,B,w,R,F,N,k,q,void 0,p,u,r,S,M);const O={outTimeStamp:j.getCurrentTimeInSeconds(),rootHashAccessToken:H,calldataHash:n.calldataHash,shieldedPrivateKey:h,accessTokenSiblings:W,accessTokenSiblingSides:b,messageSeed:y},{zkCallData:ie}=await qe.generateZkProof(s,c,A,A==="swapperMWMin0"?O:n,Y),oe=o.calcStealthAddressStructure(D,h),se=await fe.generateCircomData(s,I,E,P,H,v,l,t,e,k,q,B,F,R,N,w,n.calldataHash,f,oe,u,Ae.defaultHookData,A==="swapperMWMin0"?O.outTimeStamp:n.outTimeStamp,r,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 $.getAuthorizationDataIfNeeded(c,g);return{zkCallData:ie,circomData:se,dimData:ce,encryptedOutputs:k,authorizationData:me}};exports.constructEmporiumProof=Te;