@gurge/sdk 0.3.13 → 0.3.15

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 (321) hide show
  1. package/README.md +184 -32
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +0 -5
  4. package/common/src/API/API.mjs +114 -119
  5. package/common/src/API/TokenCallsCachedHelper.cjs +1 -0
  6. package/common/src/API/TokenCallsCachedHelper.d.ts +15 -0
  7. package/common/src/API/TokenCallsCachedHelper.mjs +62 -0
  8. package/common/src/API/callLifiAPI.cjs +1 -1
  9. package/common/src/API/callLifiAPI.mjs +2 -7
  10. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  11. package/common/src/API/enclaveUtxoCalls.mjs +6 -7
  12. package/common/src/API/getServerURL.cjs +1 -1
  13. package/common/src/API/getServerURL.mjs +2 -2
  14. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  15. package/common/src/API/scheduled-transactions-calls.mjs +3 -3
  16. package/common/src/API/token-calls.cjs +1 -1
  17. package/common/src/API/token-calls.d.ts +1 -1
  18. package/common/src/API/token-calls.mjs +3 -13
  19. package/common/src/constants/chains.constants.cjs +1 -1
  20. package/common/src/constants/chains.constants.d.ts +1 -0
  21. package/common/src/constants/chains.constants.mjs +3 -2
  22. package/common/src/constants/deploy-data/mergeDeployData.cjs +1 -1
  23. package/common/src/constants/deploy-data/mergeDeployData.mjs +11 -10
  24. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  25. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +60 -3517
  26. package/common/src/constants/events.constants.cjs +1 -1
  27. package/common/src/constants/events.constants.mjs +3 -1
  28. package/common/src/constants/index.cjs +1 -1
  29. package/common/src/constants/index.d.ts +0 -3
  30. package/common/src/constants/index.mjs +0 -3
  31. package/common/src/constants/lifi.constants.cjs +1 -1
  32. package/common/src/constants/lifi.constants.mjs +3 -6
  33. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  34. package/common/src/constants/rewards.constants.d.ts +0 -2
  35. package/common/src/constants/server.constants.cjs +1 -1
  36. package/common/src/constants/server.constants.d.ts +1 -5
  37. package/common/src/constants/server.constants.mjs +3 -8
  38. package/common/src/constants/vite.constants.cjs +1 -1
  39. package/common/src/constants/vite.constants.d.ts +1 -0
  40. package/common/src/constants/vite.constants.mjs +3 -3
  41. package/common/src/crypto/BabyJubRN.cjs +1 -0
  42. package/common/src/crypto/BabyJubRN.d.ts +18 -0
  43. package/common/src/crypto/BabyJubRN.mjs +33 -0
  44. package/common/src/crypto/babyJub.cjs +1 -1
  45. package/common/src/crypto/babyJub.mjs +7 -5
  46. package/common/src/crypto/poseidon.cjs +1 -1
  47. package/common/src/crypto/poseidon.mjs +22 -12
  48. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  49. package/common/src/data-structures/Hinkal/Hinkal.d.ts +10 -6
  50. package/common/src/data-structures/Hinkal/Hinkal.mjs +104 -113
  51. package/common/src/data-structures/Hinkal/IHinkal.d.ts +9 -5
  52. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  53. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +37 -37
  54. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  55. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +2 -2
  56. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +8 -5
  57. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  58. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +2 -2
  59. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +4 -1
  60. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  61. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
  62. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  63. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +4 -4
  64. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  65. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +3 -3
  66. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -1
  67. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +15 -15
  68. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  69. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
  70. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +4 -1
  71. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  72. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  74. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  75. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +29 -31
  76. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  77. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +7 -6
  78. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  79. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +18 -18
  80. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  81. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +43 -43
  82. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
  83. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +23 -20
  84. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -0
  85. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.d.ts +9 -0
  86. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +41 -0
  87. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -0
  88. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +9 -0
  89. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +47 -0
  90. package/common/src/data-structures/TokenDBs/index.cjs +1 -1
  91. package/common/src/data-structures/TokenDBs/index.d.ts +2 -0
  92. package/common/src/data-structures/TokenDBs/index.mjs +2 -0
  93. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -3
  94. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +2 -2
  95. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +2 -2
  96. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -3
  97. package/common/src/data-structures/index.d.ts +1 -0
  98. package/common/src/data-structures/private-balances/BalanceChangedHandler.cjs +1 -0
  99. package/common/src/data-structures/private-balances/BalanceChangedHandler.d.ts +9 -0
  100. package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +12 -0
  101. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -0
  102. package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.d.ts +4 -2
  103. package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.mjs +34 -90
  104. package/common/src/data-structures/private-balances/index.cjs +1 -0
  105. package/common/src/data-structures/private-balances/index.d.ts +3 -0
  106. package/common/src/data-structures/private-balances/index.mjs +3 -0
  107. package/common/src/data-structures/private-balances/privateBalancesReducer.cjs +1 -0
  108. package/common/src/data-structures/private-balances/privateBalancesReducer.d.ts +2 -0
  109. package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +73 -0
  110. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  111. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +5 -5
  112. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  113. package/common/src/error-handling/error-codes.constants.d.ts +2 -5
  114. package/common/src/error-handling/error-codes.constants.mjs +3 -6
  115. package/common/src/externalABIs/index.cjs +1 -1
  116. package/common/src/externalABIs/index.d.ts +1 -36
  117. package/common/src/externalABIs/index.mjs +3 -5
  118. package/common/src/functions/index.cjs +1 -1
  119. package/common/src/functions/index.d.ts +0 -1
  120. package/common/src/functions/index.mjs +4 -5
  121. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  122. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +37 -36
  123. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  124. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +4 -4
  125. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +2 -2
  126. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +54 -42
  127. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  128. package/common/src/functions/private-wallet/emporium.helpers.mjs +17 -17
  129. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  130. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +16 -16
  131. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  132. package/common/src/functions/snarkjs/common.snarkjs.d.ts +9 -1
  133. package/common/src/functions/snarkjs/common.snarkjs.mjs +13 -9
  134. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  135. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -3
  136. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +49 -32
  137. package/common/src/functions/utils/abi.utils.cjs +1 -0
  138. package/common/src/functions/utils/abi.utils.d.ts +3 -0
  139. package/common/src/functions/utils/abi.utils.mjs +5 -0
  140. package/common/src/functions/utils/bigint-math.utils.cjs +1 -0
  141. package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
  142. package/common/src/functions/utils/bigint-math.utils.mjs +12 -0
  143. package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +1 -1
  144. package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +1 -1
  145. package/common/src/functions/utils/enclaveHandshakeService.cjs +1 -0
  146. package/common/src/functions/utils/enclaveHandshakeService.d.ts +10 -0
  147. package/common/src/functions/utils/enclaveHandshakeService.mjs +22 -0
  148. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  149. package/common/src/functions/utils/encryptInputForEnclave.mjs +23 -25
  150. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  151. package/common/src/functions/utils/erc20tokenFunctions.d.ts +4 -1
  152. package/common/src/functions/utils/erc20tokenFunctions.mjs +28 -12
  153. package/common/src/functions/utils/evmNetworkFunctions.cjs +1 -1
  154. package/common/src/functions/utils/evmNetworkFunctions.d.ts +1 -0
  155. package/common/src/functions/utils/evmNetworkFunctions.mjs +4 -0
  156. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  157. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +10 -10
  158. package/common/src/functions/utils/index.cjs +1 -1
  159. package/common/src/functions/utils/index.d.ts +4 -0
  160. package/common/src/functions/utils/index.mjs +4 -0
  161. package/common/src/functions/utils/map.utils.cjs +1 -0
  162. package/common/src/functions/utils/map.utils.d.ts +1 -0
  163. package/common/src/functions/utils/map.utils.mjs +9 -0
  164. package/common/src/functions/utils/mutexes.utils.cjs +1 -1
  165. package/common/src/functions/utils/mutexes.utils.d.ts +2 -2
  166. package/common/src/functions/utils/mutexes.utils.mjs +4 -3
  167. package/common/src/functions/utils/process.utils.cjs +1 -1
  168. package/common/src/functions/utils/process.utils.d.ts +1 -0
  169. package/common/src/functions/utils/process.utils.mjs +7 -2
  170. package/common/src/functions/utils/tron.utils.cjs +1 -1
  171. package/common/src/functions/utils/tron.utils.d.ts +1 -0
  172. package/common/src/functions/utils/tron.utils.mjs +1 -1
  173. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  174. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +26 -26
  175. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  176. package/common/src/functions/web3/events/getShieldedBalance.mjs +29 -11
  177. package/common/src/functions/web3/events/index.cjs +1 -1
  178. package/common/src/functions/web3/events/index.d.ts +0 -1
  179. package/common/src/functions/web3/events/index.mjs +0 -1
  180. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  181. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +4 -4
  182. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  183. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +10 -10
  184. package/common/src/functions/web3/index.cjs +1 -1
  185. package/common/src/functions/web3/index.mjs +0 -1
  186. package/common/src/functions/web3/lifiAPI.cjs +1 -1
  187. package/common/src/functions/web3/lifiAPI.mjs +7 -38
  188. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  189. package/common/src/functions/web3/oneInchAPI.mjs +10 -10
  190. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  191. package/common/src/functions/web3/uniswapAPI.mjs +16 -16
  192. package/common/src/mutexes/chainBalanceRwLock.cjs +1 -0
  193. package/common/src/mutexes/chainBalanceRwLock.d.ts +18 -0
  194. package/common/src/mutexes/chainBalanceRwLock.mjs +31 -0
  195. package/common/src/mutexes/index.d.ts +1 -0
  196. package/common/src/types/cache.types.cjs +1 -1
  197. package/common/src/types/cache.types.d.ts +2 -0
  198. package/common/src/types/cache.types.mjs +1 -1
  199. package/common/src/types/commitments.types.d.ts +0 -10
  200. package/common/src/types/hinkal.types.cjs +1 -1
  201. package/common/src/types/hinkal.types.d.ts +4 -7
  202. package/common/src/types/hinkal.types.mjs +1 -1
  203. package/common/src/types/index.cjs +1 -1
  204. package/common/src/types/index.d.ts +0 -1
  205. package/common/src/types/index.mjs +1 -2
  206. package/common/src/types/new-rewards.type.cjs +1 -1
  207. package/common/src/types/new-rewards.type.d.ts +0 -1
  208. package/common/src/types/new-rewards.type.mjs +1 -1
  209. package/common/src/types/scheduled-transactions.types.d.ts +5 -0
  210. package/common/src/webworker/logError-BTCYh_YM.js +2 -0
  211. package/common/src/webworker/package.json +34 -4
  212. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  213. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  214. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  215. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  216. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  217. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  218. package/common/src/webworker/viteWorkerURL.constant.cjs +4 -4
  219. package/common/src/webworker/viteWorkerURL.constant.mjs +4 -4
  220. package/common/src/webworker/workerFactory.cjs +1 -1
  221. package/common/src/webworker/workerFactory.d.ts +1 -0
  222. package/common/src/webworker/workerFactory.mjs +3 -2
  223. package/common/src/webworker/workerProxy-DPeuP2Mg.js +1 -0
  224. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  225. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  226. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  227. package/functions/index.cjs +1 -1
  228. package/functions/index.mjs +0 -4
  229. package/functions/integrations/index.cjs +1 -1
  230. package/functions/integrations/index.mjs +0 -4
  231. package/functions/integrations/swapApi.cjs +1 -1
  232. package/functions/integrations/swapApi.d.ts +21 -7
  233. package/functions/integrations/swapApi.mjs +29 -10
  234. package/functions/utils/refreshBalance.cjs +1 -1
  235. package/functions/utils/refreshBalance.mjs +2 -2
  236. package/index.cjs +1 -1
  237. package/index.mjs +4 -8
  238. package/internal/token.utils.cjs +1 -1
  239. package/internal/token.utils.d.ts +1 -3
  240. package/internal/token.utils.mjs +10 -21
  241. package/package.json +34 -4
  242. package/react-native/HinkalWebViewWorker.cjs +98 -0
  243. package/react-native/HinkalWebViewWorker.d.ts +2 -0
  244. package/react-native/HinkalWebViewWorker.mjs +174 -0
  245. package/react-native/bridge/HinkalRNWorker.cjs +1 -0
  246. package/react-native/bridge/HinkalRNWorker.d.ts +13 -0
  247. package/react-native/bridge/HinkalRNWorker.mjs +26 -0
  248. package/react-native/bridge/serialization.utils.cjs +1 -0
  249. package/react-native/bridge/serialization.utils.d.ts +3 -0
  250. package/react-native/bridge/serialization.utils.mjs +13 -0
  251. package/react-native/metro-config.js +90 -0
  252. package/react-native/shims/circomlibjs-hinkal-fork.js +14 -0
  253. package/react-native/shims/circomlibjs.js +15 -0
  254. package/react-native/shims/constants.js +7 -0
  255. package/react-native/shims/crypto.js +103 -0
  256. package/react-native/shims/ffjavascript.js +5 -0
  257. package/react-native/shims/fs.js +5 -0
  258. package/react-native/shims/globals.js +10 -0
  259. package/react-native/shims/idb-keyval.js +75 -0
  260. package/react-native/shims/multiformats.js +1 -0
  261. package/react-native/shims/os.js +7 -0
  262. package/react-native/shims/path.js +11 -0
  263. package/react-native/shims/readline.js +6 -0
  264. package/react-native/shims/snarkjs.js +21 -0
  265. package/react-native/shims/url.js +5 -0
  266. package/react-native/shims/web-worker.js +7 -0
  267. package/react-native/shims/worker_threads.js +6 -0
  268. package/react-native/shims.d.ts +16 -0
  269. package/react-native/workerCDNUrls.cjs +1 -0
  270. package/react-native/workerCDNUrls.d.ts +2 -0
  271. package/react-native/workerCDNUrls.mjs +14 -0
  272. package/sdk/package.json.cjs +1 -0
  273. package/sdk/package.json.mjs +130 -0
  274. package/services/Hinkal.cjs +1 -1
  275. package/services/Hinkal.d.ts +6 -5
  276. package/services/Hinkal.mjs +50 -48
  277. package/types/IHinkal.d.ts +6 -5
  278. package/common/src/API/kycCalls.cjs +0 -1
  279. package/common/src/API/kycCalls.d.ts +0 -14
  280. package/common/src/API/kycCalls.mjs +0 -26
  281. package/common/src/constants/assets.constants.cjs +0 -1
  282. package/common/src/constants/assets.constants.d.ts +0 -13
  283. package/common/src/constants/assets.constants.mjs +0 -4
  284. package/common/src/constants/kyc.constants.cjs +0 -1
  285. package/common/src/constants/kyc.constants.d.ts +0 -29
  286. package/common/src/constants/kyc.constants.mjs +0 -126
  287. package/common/src/constants/token.limits.constants.cjs +0 -1
  288. package/common/src/constants/token.limits.constants.d.ts +0 -5
  289. package/common/src/constants/token.limits.constants.mjs +0 -3
  290. package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.cjs +0 -1
  291. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
  292. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -28
  293. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -22
  294. package/common/src/externalABIs/BabPassport.json.cjs +0 -1
  295. package/common/src/externalABIs/BabPassport.json.mjs +0 -20
  296. package/common/src/externalABIs/GalxePassport.json.cjs +0 -1
  297. package/common/src/externalABIs/GalxePassport.json.mjs +0 -37
  298. package/common/src/functions/kyc/aiPriseHelper.d.ts +0 -0
  299. package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +0 -1
  300. package/common/src/functions/kyc/checkTokenLimitsUSD.d.ts +0 -1
  301. package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +0 -29
  302. package/common/src/functions/kyc/index.cjs +0 -1
  303. package/common/src/functions/kyc/index.d.ts +0 -3
  304. package/common/src/functions/kyc/index.mjs +0 -3
  305. package/common/src/functions/kyc/openDefaultPassportWindow.cjs +0 -1
  306. package/common/src/functions/kyc/openDefaultPassportWindow.d.ts +0 -1
  307. package/common/src/functions/kyc/openDefaultPassportWindow.mjs +0 -7
  308. package/common/src/functions/kyc/passportHelper.cjs +0 -1
  309. package/common/src/functions/kyc/passportHelper.d.ts +0 -3
  310. package/common/src/functions/kyc/passportHelper.mjs +0 -1
  311. package/common/src/functions/kyc/zkMeHelper.cjs +0 -1
  312. package/common/src/functions/kyc/zkMeHelper.d.ts +0 -4
  313. package/common/src/functions/kyc/zkMeHelper.mjs +0 -42
  314. package/common/src/functions/web3/events/balanceChangedHandler.cjs +0 -1
  315. package/common/src/functions/web3/events/balanceChangedHandler.d.ts +0 -5
  316. package/common/src/functions/web3/events/balanceChangedHandler.mjs +0 -21
  317. package/common/src/types/kyc.types.cjs +0 -1
  318. package/common/src/types/kyc.types.d.ts +0 -41
  319. package/common/src/types/kyc.types.mjs +0 -10
  320. package/common/src/webworker/logError-CmD5XYI9.js +0 -2
  321. package/common/src/webworker/workerProxy-C49-EPZz.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { chainIds as e, getOnchainChainId as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
2
2
  import { zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
- import { ContractType as i } from "../../types/ethereum-network.types.mjs";
4
- import { caseInsensitiveEqual as a } from "../utils/caseInsensitive.utils.mjs";
3
+ import { caseInsensitiveEqual as i } from "../utils/caseInsensitive.utils.mjs";
4
+ import { ContractType as a } from "../../types/ethereum-network.types.mjs";
5
5
  import { Logger as o } from "../../error-handling/logger.mjs";
6
6
  import { createJsonRpcProvider as s } from "../utils/create-provider.mjs";
7
7
  import { AccountActions as c } from "../../data-structures/AccountActions/AccountActions.mjs";
@@ -64,8 +64,8 @@ var d = (e) => {
64
64
  value: n,
65
65
  invokeWallet: r
66
66
  }), h = (e, t, n, o, s) => {
67
- let c = e.getContractWithFetcher(t, i.HinkalContract);
68
- return n.map((n, u) => m(a(n, r) ? void 0 : e.getContractWithFetcher(t, i.ERC20Contract, n), s ?? l(c), o[u], !0));
67
+ let c = e.getContractWithFetcher(t, a.HinkalContract);
68
+ return n.map((n, u) => m(i(n, r) ? void 0 : e.getContractWithFetcher(t, a.ERC20Contract, n), s ?? l(c), o[u], !0));
69
69
  }, g = (e, t, n, r) => f({
70
70
  contract: e,
71
71
  func: "approve",
@@ -74,25 +74,25 @@ var d = (e) => {
74
74
  }), _ = (e, t, n, o, s, c, l, u) => {
75
75
  let d = [];
76
76
  for (let s = 0; s < n.length; s += 1) {
77
- let c = n[s], u = a(c, r) ? void 0 : e.getContractWithFetcher(t, i.ERC20Contract, c);
77
+ let c = n[s], u = i(c, r) ? void 0 : e.getContractWithFetcher(t, a.ERC20Contract, c);
78
78
  d.push(m(u, l, o[s], !1));
79
79
  }
80
80
  if (u) for (let n = 0; n < s.length; n += 1) {
81
81
  let o = s[n];
82
- if (!a(o, r)) {
83
- let r = e.getContractWithFetcher(t, i.ERC20Contract, o);
82
+ if (!i(o, r)) {
83
+ let r = e.getContractWithFetcher(t, a.ERC20Contract, o);
84
84
  d.push(g(r, u, c[n], !0));
85
85
  }
86
86
  }
87
87
  return d;
88
- }, v = (e, t, n, i, o, s, c, l) => {
88
+ }, v = (e, t, n, a, o, s, c, l) => {
89
89
  let u = [], d = [o], p = [s];
90
- l.nativeFee > 0n && !a(o, r) && (d.push(r), p.push(l.nativeFee));
91
- let m = _(e, t, d, p, [o], [c], n, i);
90
+ l.nativeFee > 0n && !i(o, r) && (d.push(r), p.push(l.nativeFee));
91
+ let m = _(e, t, d, p, [o], [c], n, a);
92
92
  u.push(...m);
93
93
  let h = l.nativeFee;
94
- return a(o, r) && (h += c), u.push(f({
95
- contract: i,
94
+ return i(o, r) && (h += c), u.push(f({
95
+ contract: a,
96
96
  callDataString: l.calldata,
97
97
  value: h > 0n ? h : void 0,
98
98
  invokeWallet: !0
@@ -118,20 +118,20 @@ var d = (e) => {
118
118
  }
119
119
  }, x = (e) => {
120
120
  let { hinkalWalletAddress: t } = n[e].contractData;
121
- if (!t || a(t, r)) throw Error("Hinkal Wallet Address is not set");
121
+ if (!t || i(t, r)) throw Error("Hinkal Wallet Address is not set");
122
122
  return t;
123
123
  }, S = async (n, r) => {
124
124
  if (n === e.localhost || !r) return;
125
- let i = t(n), { delegated: o, implementation: s } = await b(n, c.getSignerAddressFromPrivateKey(n, r)), l = x(n);
126
- if (!o || !a(s, l)) {
127
- let e = await c.authorizeDelegation(i, r, l);
125
+ let a = t(n), { delegated: o, implementation: s } = await b(n, c.getSignerAddressFromPrivateKey(n, r)), l = x(n);
126
+ if (!o || !i(s, l)) {
127
+ let e = await c.authorizeDelegation(a, r, l);
128
128
  return {
129
129
  v: e.signature.v.toString(),
130
130
  r: e.signature.r,
131
131
  s: e.signature.s,
132
132
  nonce: e.nonce.toString(),
133
133
  address: l,
134
- chainId: String(i)
134
+ chainId: String(a)
135
135
  };
136
136
  }
137
137
  };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../utils/caseInsensitive.utils.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../utils/string.utils.cjs`),o=require(`../utils/erc20tokenFunctions.cjs`),s=require(`../../constants/addresses.constants.cjs`),c=require(`../utils/getContractAddress.cjs`),l=require(`./emporium.helpers.cjs`),u=require(`../pre-transaction/getExternalSwapAddress.cjs`);let d=require(`ethers`);var f=(e,t,n,r,i,a,o=!1)=>{let s={tokenIn:t,tokenOut:r,fee:BigInt(a),recipient:i,amountIn:n,amountOutMinimum:0,sqrtPriceLimitX96:0};return l.emporiumOp({contract:new d.ethers.Contract(e,[`function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)`]),func:`exactInputSingle`,args:[s],invokeWallet:o})},p=(e,t,n,r,i,o,s=!1)=>l.emporiumOp({contract:n,callDataString:a.replaceAllInstances(r,u.getExternalSwapAddress(e,t).slice(2),i.slice(2)),value:o,invokeWallet:s}),m=async(e,t)=>{let r=(await o.getErc20TokensForChainAPI(t)).find(e=>e.symbol===`USDT`);return r?n.caseInsensitiveEqual(e,r.erc20TokenAddress):!1},h=async(e,t,n,r,a,o)=>{if(await m(c.getContractAddress(n),e))try{await n.allowance(r,a)>0n&&t.push(l.createApproveEmporiumOp(n,a,0n,o))}catch(e){i.Logger.error(`Error in nullifyUsdtApprovalIfNeeded`,e)}},g=async(n,r,i,a,o,c,u,f)=>{if(i!==e.zeroAddress){let f=s.SWAP_FEE_TAKER_ADDRESSES[r],p=n.getContractWithFetcher(r,t.ContractType.ERC20Contract,i),m=await p.balanceOf(a);await h(r,c,p,a,f,u),c.push(l.createApproveEmporiumOp(p,f,2n**256n-1n,u));let g=new d.ethers.Contract(f,[`function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable`]),_=o;c.push(l.emporiumOp({contract:g,func:`takeSwapFee`,args:[i,m,e.HINKAL_SWAP_VARIABLE_RATE,_],invokeWallet:u}))}else{let t=o;c.push(l.emporiumOp({contract:t,value:f*e.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:u}))}},_=async(n,i,a,o,c,u,m,_,v,y,b,x,S=!1)=>{let C=m<0n?-1n*m:m,w=[],T=s.NATIVE_TOKEN_WRAPPER_ADDRESSES[i],E=!1,D;if(a===r.ExternalActionId.OneInch||a===r.ExternalActionId.Lifi){if(u!==e.zeroAddress){let e=n.getContractWithFetcher(i,t.ContractType.ERC20Contract,u);w.push(l.createApproveEmporiumOp(e,o,C,S))}let s=0n;return u===e.zeroAddress&&(s+=C),_&&v===e.zeroAddress&&_<0n&&(s+=-1n*_),D=p(i,a,o,c,b,s>0n?s:void 0,S),w.push(D),(a===r.ExternalActionId.OneInch||y&&a===r.ExternalActionId.Lifi)&&v&&_!==void 0&&await g(n,i,v,b,x,w,S,_),w}if(!v||!_)throw Error(`There should be output token for UniSwap and Odos`);if(u===e.zeroAddress){let e=n.getContractWithFetcher(i,t.ContractType.ERC20Contract,T);w.push(l.emporiumOp({contract:e,func:`deposit`,value:C,invokeWallet:S})),u=T}let O=0n;if(v===e.zeroAddress&&(v=T,E=!0,O=await n.getContractWithFetcher(i,t.ContractType.ERC20Contract,T).balanceOf(b)),u!==e.zeroAddress){let e=n.getContractWithFetcher(i,t.ContractType.ERC20Contract,u);await h(i,w,e,b,o,S),w.push(l.createApproveEmporiumOp(e,o,C,S))}if(D=a===r.ExternalActionId.Uniswap?f(o,u,C,v,b,c,S):p(i,a,o,c,b,void 0,S),w.push(D),await g(n,i,v,b,x,w,S,_),E){let e=s.WRAPPER_TOKEN_EXCHANGE_ADDRESSES[i],r=n.getContractWithFetcher(i,t.ContractType.ERC20Contract,T);w.push(l.createApproveEmporiumOp(r,e,2n**256n-1n,S));let a=new d.ethers.Contract(e,[`function withdrawBalanceDifference(uint256 beforeBalance) external`]);w.push(l.emporiumOp({contract:a,func:`withdrawBalanceDifference`,args:[O],invokeWallet:S}))}return w};exports.createSwapToEmporiumOpForUniswap=f,exports.createSwapToEmporiumOps=_;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../utils/caseInsensitive.utils.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../utils/string.utils.cjs`),o=require(`../utils/erc20tokenFunctions.cjs`),s=require(`../../constants/addresses.constants.cjs`),c=require(`../utils/getContractAddress.cjs`),l=require(`./emporium.helpers.cjs`),u=require(`../pre-transaction/getExternalSwapAddress.cjs`);let d=require(`ethers`);var f=(e,t,n,r,i,a,o=!1)=>{let s={tokenIn:t,tokenOut:r,fee:BigInt(a),recipient:i,amountIn:n,amountOutMinimum:0,sqrtPriceLimitX96:0};return l.emporiumOp({contract:new d.ethers.Contract(e,[`function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)`]),func:`exactInputSingle`,args:[s],invokeWallet:o})},p=(e,t,n,r,i,o,s=!1)=>l.emporiumOp({contract:n,callDataString:a.replaceAllInstances(r,u.getExternalSwapAddress(e,t).slice(2),i.slice(2)),value:o,invokeWallet:s}),m=async(e,n)=>{let r=(await o.getErc20TokensForChainAPI(n)).find(e=>e.symbol===`USDT`);return r?t.caseInsensitiveEqual(e,r.erc20TokenAddress):!1},h=async(e,t,n,r,a,o)=>{if(await m(c.getContractAddress(n),e))try{await n.allowance(r,a)>0n&&t.push(l.createApproveEmporiumOp(n,a,0n,o))}catch(e){i.Logger.error(`Error in nullifyUsdtApprovalIfNeeded`,e)}},g=async(t,r,i,a,o,c,u,f)=>{if(i!==e.zeroAddress){let f=s.SWAP_FEE_TAKER_ADDRESSES[r],p=t.getContractWithFetcher(r,n.ContractType.ERC20Contract,i),m=await p.balanceOf(a);await h(r,c,p,a,f,u),c.push(l.createApproveEmporiumOp(p,f,2n**256n-1n,u));let g=new d.ethers.Contract(f,[`function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable`]),_=o;c.push(l.emporiumOp({contract:g,func:`takeSwapFee`,args:[i,m,e.HINKAL_SWAP_VARIABLE_RATE,_],invokeWallet:u}))}else{let t=o;c.push(l.emporiumOp({contract:t,value:f*e.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:u}))}},_=async(t,i,a,o,c,u,m,_,v,y,b,x,S=!1)=>{let C=m<0n?-1n*m:m,w=[],T=s.NATIVE_TOKEN_WRAPPER_ADDRESSES[i],E=!1,D;if(a===r.ExternalActionId.OneInch||a===r.ExternalActionId.Lifi){if(u!==e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,u);w.push(l.createApproveEmporiumOp(e,o,C,S))}let s=0n;return u===e.zeroAddress&&(s+=C),_&&v===e.zeroAddress&&_<0n&&(s+=-1n*_),D=p(i,a,o,c,b,s>0n?s:void 0,S),w.push(D),(a===r.ExternalActionId.OneInch||y&&a===r.ExternalActionId.Lifi)&&v&&_!==void 0&&await g(t,i,v,b,x,w,S,_),w}if(!v||!_)throw Error(`There should be output token for UniSwap and Odos`);if(u===e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T);w.push(l.emporiumOp({contract:e,func:`deposit`,value:C,invokeWallet:S})),u=T}let O=0n;if(v===e.zeroAddress&&(v=T,E=!0,O=await t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T).balanceOf(b)),u!==e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,u);await h(i,w,e,b,o,S),w.push(l.createApproveEmporiumOp(e,o,C,S))}if(D=a===r.ExternalActionId.Uniswap?f(o,u,C,v,b,c,S):p(i,a,o,c,b,void 0,S),w.push(D),await g(t,i,v,b,x,w,S,_),E){let e=s.WRAPPER_TOKEN_EXCHANGE_ADDRESSES[i],r=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T);w.push(l.createApproveEmporiumOp(r,e,2n**256n-1n,S));let a=new d.ethers.Contract(e,[`function withdrawBalanceDifference(uint256 beforeBalance) external`]);w.push(l.emporiumOp({contract:a,func:`withdrawBalanceDifference`,args:[O],invokeWallet:S}))}return w};exports.createSwapToEmporiumOpForUniswap=f,exports.createSwapToEmporiumOps=_;
@@ -1,6 +1,6 @@
1
1
  import { HINKAL_SWAP_VARIABLE_RATE as e, zeroAddress as t } from "../../constants/protocol.constants.mjs";
2
- import { ContractType as n } from "../../types/ethereum-network.types.mjs";
3
- import { caseInsensitiveEqual as r } from "../utils/caseInsensitive.utils.mjs";
2
+ import { caseInsensitiveEqual as n } from "../utils/caseInsensitive.utils.mjs";
3
+ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
4
  import { ExternalActionId as i } from "../../types/external-action.types.mjs";
5
5
  import { Logger as a } from "../../error-handling/logger.mjs";
6
6
  import { replaceAllInstances as o } from "../utils/string.utils.mjs";
@@ -33,17 +33,17 @@ var g = (e, t, n, r, i, a, o = !1) => {
33
33
  value: a,
34
34
  invokeWallet: s
35
35
  }), v = async (e, t) => {
36
- let n = (await s(t)).find((e) => e.symbol === "USDT");
37
- return n ? r(e, n.erc20TokenAddress) : !1;
36
+ let r = (await s(t)).find((e) => e.symbol === "USDT");
37
+ return r ? n(e, r.erc20TokenAddress) : !1;
38
38
  }, y = async (e, t, n, r, i, o) => {
39
39
  if (await v(d(n), e)) try {
40
40
  await n.allowance(r, i) > 0n && t.push(f(n, i, 0n, o));
41
41
  } catch (e) {
42
42
  a.error("Error in nullifyUsdtApprovalIfNeeded", e);
43
43
  }
44
- }, b = async (r, i, a, o, s, c, u, d) => {
44
+ }, b = async (n, i, a, o, s, c, u, d) => {
45
45
  if (a !== t) {
46
- let t = l[i], d = r.getContractWithFetcher(i, n.ERC20Contract, a), m = await d.balanceOf(o);
46
+ let t = l[i], d = n.getContractWithFetcher(i, r.ERC20Contract, a), m = await d.balanceOf(o);
47
47
  await y(i, c, d, o, t, u), c.push(f(d, t, 2n ** 256n - 1n, u));
48
48
  let g = new h.Contract(t, ["function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"]), _ = s;
49
49
  c.push(p({
@@ -65,19 +65,19 @@ var g = (e, t, n, r, i, a, o = !1) => {
65
65
  invokeWallet: u
66
66
  }));
67
67
  }
68
- }, x = async (e, r, a, o, s, l, d, m, v, x, S, C, w = !1) => {
69
- let T = d < 0n ? -1n * d : d, E = [], D = c[r], O = !1, k;
68
+ }, x = async (e, n, a, o, s, l, d, m, v, x, S, C, w = !1) => {
69
+ let T = d < 0n ? -1n * d : d, E = [], D = c[n], O = !1, k;
70
70
  if (a === i.OneInch || a === i.Lifi) {
71
71
  if (l !== t) {
72
- let t = e.getContractWithFetcher(r, n.ERC20Contract, l);
72
+ let t = e.getContractWithFetcher(n, r.ERC20Contract, l);
73
73
  E.push(f(t, o, T, w));
74
74
  }
75
75
  let c = 0n;
76
- return l === t && (c += T), m && v === t && m < 0n && (c += -1n * m), k = _(r, a, o, s, S, c > 0n ? c : void 0, w), E.push(k), (a === i.OneInch || x && a === i.Lifi) && v && m !== void 0 && await b(e, r, v, S, C, E, w, m), E;
76
+ return l === t && (c += T), m && v === t && m < 0n && (c += -1n * m), k = _(n, a, o, s, S, c > 0n ? c : void 0, w), E.push(k), (a === i.OneInch || x && a === i.Lifi) && v && m !== void 0 && await b(e, n, v, S, C, E, w, m), E;
77
77
  }
78
78
  if (!v || !m) throw Error("There should be output token for UniSwap and Odos");
79
79
  if (l === t) {
80
- let t = e.getContractWithFetcher(r, n.ERC20Contract, D);
80
+ let t = e.getContractWithFetcher(n, r.ERC20Contract, D);
81
81
  E.push(p({
82
82
  contract: t,
83
83
  func: "deposit",
@@ -86,12 +86,12 @@ var g = (e, t, n, r, i, a, o = !1) => {
86
86
  })), l = D;
87
87
  }
88
88
  let A = 0n;
89
- if (v === t && (v = D, O = !0, A = await e.getContractWithFetcher(r, n.ERC20Contract, D).balanceOf(S)), l !== t) {
90
- let t = e.getContractWithFetcher(r, n.ERC20Contract, l);
91
- await y(r, E, t, S, o, w), E.push(f(t, o, T, w));
89
+ if (v === t && (v = D, O = !0, A = await e.getContractWithFetcher(n, r.ERC20Contract, D).balanceOf(S)), l !== t) {
90
+ let t = e.getContractWithFetcher(n, r.ERC20Contract, l);
91
+ await y(n, E, t, S, o, w), E.push(f(t, o, T, w));
92
92
  }
93
- if (k = a === i.Uniswap ? g(o, l, T, v, S, s, w) : _(r, a, o, s, S, void 0, w), E.push(k), await b(e, r, v, S, C, E, w, m), O) {
94
- let t = u[r], i = e.getContractWithFetcher(r, n.ERC20Contract, D);
93
+ if (k = a === i.Uniswap ? g(o, l, T, v, S, s, w) : _(n, a, o, s, S, void 0, w), E.push(k), await b(e, n, v, S, C, E, w, m), O) {
94
+ let t = u[n], i = e.getContractWithFetcher(n, r.ERC20Contract, D);
95
95
  E.push(f(i, t, 2n ** 256n - 1n, w));
96
96
  let a = new h.Contract(t, ["function withdrawBalanceDifference(uint256 beforeBalance) external"]);
97
97
  E.push(p({
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../../types/circom-data.types.cjs`),r=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),i=require(`../utils/external-action.utils.cjs`),a=require(`./getOriginalSender.cjs`),o=require(`../utils/bit.operations.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return t.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.randomization!==void 0)return e.randomization.toString();if(!e.isNewStyle)throw Error(`UTXO missing randomization for old-style proof input`);return`0`},u=e=>e.map(e=>e.map(e=>e.amount===0n?`0`:e.getCommitment())),d=(t,n,r=!1)=>{let i=[];for(let a=0;a<t.length;a+=1){let o=0n,s=0n;for(let e=0;e<t[a].length;e+=1)o+=t[a][e].amount;for(let e=0;e<n[a].length;e+=1)s+=n[a][e].amount;s-o<0?r?i.push(s-o):i.push(e.CIRCOM_P+(s-o)):i.push(s-o)}return i},f=e=>e.map(e=>e>=0n?0n:e),p=e=>{if(e.length===0)return[];let t=[[``]];for(let n=0;n<e.length;n+=1)n>0&&t.push([``]),e[n].forEach((e,i)=>{t[n][i]=`0x${Buffer.from(r.encryptUtxo(e)).toString(`hex`)}`});return t},m=e=>{let t={...e};return t.amountChanges=e.amountChanges.map(e=>e.toString()),t.calldataHash=e.calldataHash.toString(),t.rootHashAccessToken=e.rootHashAccessToken?.toString(),t.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),t.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),t.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),t.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),t.rootHashHinkal=e.rootHashHinkal?.toString(),t.externalActionId=e.externalActionId?.toString(),t.slippageValues=e.slippageValues.map(e=>e.toString()),t.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(e=>e.toString()),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(e=>({approvalChanges:e.approvalChanges.map(e=>e.toString()),externalApprovalAddresses:e.externalApprovalAddresses,conversionInHinkalAddress:e.conversionInHinkalAddress.map(e=>e.toString())})),t.feeStructure.flatFee=e.feeStructure.flatFee.toString(),t.feeStructure.variableRate=e.feeStructure.variableRate.toString(),t},h=(t,r,o,c,l,u,d,f,p,m,h,g)=>{let _=Object.values(d||n.defaultHookData),v=g??a.getOriginalSender(o??e.zeroAddress,r),y=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`address`,`address`,`uint256`,`bytes`],[t,r,o,typeof c==`bigint`?c:i.getExternalActionIdHash(c),l]),b=s.ethers.AbiCoder.defaultAbiCoder().encode([`tuple(address, address, bytes, bytes)`,`bytes[][]`,`tuple(address, uint256, uint256)`,`int256[]`,`bool[]`,`tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)`,`address`],[_,u,[m.feeToken,m.flatFee,m.variableRate],f,p,h,v]),x=BigInt(s.ethers.keccak256(y)),S=BigInt(s.ethers.keccak256(b)),C=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[x,S]);return BigInt(s.ethers.keccak256(C))%e.CIRCOM_P},g=(e,t,n,r,i)=>e.startsWith(`mainEVMCircuitMin0`)?3:2+t.length+n.length+1+r.flat().length+i.flat().length+1+1+1+1+1+1,_=(e,n,r)=>{let{H0:i}=t.UserKeys.getRandomizedStealthPair(e,n),a=t.UserKeys.getH1FromH0(i,n),s=BigInt(t.UserKeys.getStealthAddressNewStyle(i,n,r));return{extraRandomization:o.addHighestBitToNumber(i[0]),H0:i[1],H1:a[1],stealthAddress:s}},v=(e,t)=>t.length===0?`mainEVMCircuitMin0`:`mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;exports.buildOutCommitments=u,exports.calcAmountChanges=d,exports.calcEncryptedOutputs=p,exports.calcPublicSignalCount=g,exports.calcStealthAddressStructure=_,exports.createCallDataHash=h,exports.getSlippageValues=f,exports.getUtxoCircuitH0Coords=c,exports.getUtxoCircuitInRandomization=l,exports.getZkProofVerifierName=v,exports.serializeCircomData=m;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../../types/circom-data.types.cjs`),r=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),i=require(`../utils/external-action.utils.cjs`),a=require(`./getOriginalSender.cjs`),o=require(`../utils/bit.operations.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return t.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.isNewStyle)return`0`;if(e.randomization!==void 0)return e.randomization.toString();throw Error(`UTXO missing randomization for old-style proof input`)},u=Array.from({length:25},()=>`0`),d=e=>e.length>0&&e.every(e=>e.every(e=>BigInt(e.amount)===0n)),f=e=>({inCommitmentSiblings:e.map(e=>e.map(()=>[...u])),inCommitmentSiblingSides:e.map(e=>e.map(()=>[...u])),inNullifiers:e.map(e=>e.map(()=>`0`))}),p=e=>e.map(e=>e.map(e=>e.amount===0n?`0`:e.getCommitment())),m=(t,n,r=!1)=>{let i=[];for(let a=0;a<t.length;a+=1){let o=0n,s=0n;for(let e=0;e<t[a].length;e+=1)o+=t[a][e].amount;for(let e=0;e<n[a].length;e+=1)s+=n[a][e].amount;s-o<0?r?i.push(s-o):i.push(e.CIRCOM_P+(s-o)):i.push(s-o)}return i},h=e=>e.map(e=>e>=0n?0n:e),g=e=>{if(e.length===0)return[];let t=[[``]];for(let n=0;n<e.length;n+=1)n>0&&t.push([``]),e[n].forEach((e,i)=>{t[n][i]=`0x${Buffer.from(r.encryptUtxo(e)).toString(`hex`)}`});return t},_=e=>{let t={...e};return t.amountChanges=e.amountChanges.map(e=>e.toString()),t.calldataHash=e.calldataHash.toString(),t.rootHashAccessToken=e.rootHashAccessToken?.toString(),t.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),t.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),t.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),t.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),t.rootHashHinkal=e.rootHashHinkal?.toString(),t.externalActionId=e.externalActionId?.toString(),t.slippageValues=e.slippageValues.map(e=>e.toString()),t.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(e=>e.toString()),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(e=>({approvalChanges:e.approvalChanges.map(e=>e.toString()),externalApprovalAddresses:e.externalApprovalAddresses,conversionInHinkalAddress:e.conversionInHinkalAddress.map(e=>e.toString())})),t.feeStructure.flatFee=e.feeStructure.flatFee.toString(),t.feeStructure.variableRate=e.feeStructure.variableRate.toString(),t},v=(t,r,o,c,l,u,d,f,p,m,h,g)=>{let _=Object.values(d||n.defaultHookData),v=g??a.getOriginalSender(o??e.zeroAddress,r),y=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`address`,`address`,`uint256`,`bytes`],[t,r,o,typeof c==`bigint`?c:i.getExternalActionIdHash(c),l]),b=s.ethers.AbiCoder.defaultAbiCoder().encode([`tuple(address, address, bytes, bytes)`,`bytes[][]`,`tuple(address, uint256, uint256)`,`int256[]`,`bool[]`,`tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)`,`address`],[_,u,[m.feeToken,m.flatFee,m.variableRate],f,p,h,v]),x=BigInt(s.ethers.keccak256(y)),S=BigInt(s.ethers.keccak256(b)),C=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[x,S]);return BigInt(s.ethers.keccak256(C))%e.CIRCOM_P},y=(e,t,n,r,i)=>e.startsWith(`mainEVMCircuitMin0`)?3:2+t.length+n.length+1+r.flat().length+i.flat().length+1+1+1+1+1+1,b=(e,n,r)=>{let{H0:i}=t.UserKeys.getRandomizedStealthPair(e,n),a=t.UserKeys.getH1FromH0(i,n),s=BigInt(t.UserKeys.getStealthAddressNewStyle(i,n,r));return{extraRandomization:o.addHighestBitToNumber(i[0]),H0:i[1],H1:a[1],stealthAddress:s}},x=(e,t)=>t.length===0?`mainEVMCircuitMin0`:`mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;exports.buildOutCommitments=p,exports.buildZeroInputMerkleDataFromSerialized=f,exports.calcAmountChanges=m,exports.calcEncryptedOutputs=g,exports.calcPublicSignalCount=y,exports.calcStealthAddressStructure=b,exports.createCallDataHash=v,exports.getSlippageValues=h,exports.getUtxoCircuitH0Coords=c,exports.getUtxoCircuitInRandomization=l,exports.getZkProofVerifierName=x,exports.hasOnlyZeroAmounts=d,exports.serializeCircomData=_;
@@ -1,4 +1,4 @@
1
- import { Utxo } from '../../data-structures/utxo/Utxo';
1
+ import { IUtxoConstructor, Utxo } from '../../data-structures/utxo/Utxo';
2
2
  import { MerkleTree } from '../../data-structures/merkle-tree';
3
3
  import { CircomDataJsonType, CircomDataType, HookDataType, StealthAddressStructure } from '../../types/circom-data.types';
4
4
  import { ExternalActionId } from '../../types/external-action.types';
@@ -7,6 +7,14 @@ import { SignatureData } from '../../types/crypto.types';
7
7
  export declare const getUtxoCircuitH0Coords: (utxo: Utxo) => [bigint, bigint];
8
8
  export declare const getUtxoCircuitInRandomization: (utxo: Utxo) => string;
9
9
  export declare const buildInNullifiers: (inputUtxos: Utxo[][], onChainCreation: boolean[]) => string[][];
10
+ export declare const hasOnlyZeroAmounts: <T extends {
11
+ amount: bigint;
12
+ }>(inputUtxosByToken: T[][]) => boolean;
13
+ export declare const buildZeroInputMerkleDataFromSerialized: (inputUtxosSerialized: IUtxoConstructor[][]) => {
14
+ inCommitmentSiblings: string[][][];
15
+ inCommitmentSiblingSides: string[][][];
16
+ inNullifiers: string[][];
17
+ };
10
18
  export declare const buildOutCommitments: (outputUtxos: Utxo[][]) => string[][];
11
19
  export declare const calcAmountChanges: (inputUtxos: Utxo[][], outputUtxos: Utxo[][], forCircomData?: boolean) => bigint[];
12
20
  export declare const getSlippageValues: (amountChanges: bigint[]) => bigint[];
@@ -12,10 +12,14 @@ var l = (e) => {
12
12
  if (e.randomization !== void 0) return n.getH0FromRandomization(e.randomization);
13
13
  throw Error("UTXO missing H0 coordinates for proof input");
14
14
  }, u = (e) => {
15
+ if (e.isNewStyle) return "0";
15
16
  if (e.randomization !== void 0) return e.randomization.toString();
16
- if (!e.isNewStyle) throw Error("UTXO missing randomization for old-style proof input");
17
- return "0";
18
- }, d = (e) => e.map((e) => e.map((e) => e.amount === 0n ? "0" : e.getCommitment())), f = (t, n, r = !1) => {
17
+ throw Error("UTXO missing randomization for old-style proof input");
18
+ }, d = Array.from({ length: 25 }, () => "0"), f = (e) => e.length > 0 && e.every((e) => e.every((e) => BigInt(e.amount) === 0n)), p = (e) => ({
19
+ inCommitmentSiblings: e.map((e) => e.map(() => [...d])),
20
+ inCommitmentSiblingSides: e.map((e) => e.map(() => [...d])),
21
+ inNullifiers: e.map((e) => e.map(() => "0"))
22
+ }), m = (e) => e.map((e) => e.map((e) => e.amount === 0n ? "0" : e.getCommitment())), h = (t, n, r = !1) => {
19
23
  let i = [];
20
24
  for (let a = 0; a < t.length; a += 1) {
21
25
  let o = 0n, s = 0n;
@@ -24,21 +28,21 @@ var l = (e) => {
24
28
  s - o < 0 ? r ? i.push(s - o) : i.push(e + (s - o)) : i.push(s - o);
25
29
  }
26
30
  return i;
27
- }, p = (e) => e.map((e) => e >= 0n ? 0n : e), m = (e) => {
31
+ }, g = (e) => e.map((e) => e >= 0n ? 0n : e), _ = (e) => {
28
32
  if (e.length === 0) return [];
29
33
  let t = [[""]];
30
34
  for (let n = 0; n < e.length; n += 1) n > 0 && t.push([""]), e[n].forEach((e, r) => {
31
35
  t[n][r] = `0x${Buffer.from(i(e)).toString("hex")}`;
32
36
  });
33
37
  return t;
34
- }, h = (e) => {
38
+ }, v = (e) => {
35
39
  let t = { ...e };
36
40
  return t.amountChanges = e.amountChanges.map((e) => e.toString()), t.calldataHash = e.calldataHash.toString(), t.rootHashAccessToken = e.rootHashAccessToken?.toString(), t.stealthAddressStructure.extraRandomization = e.stealthAddressStructure.extraRandomization.toString(), t.stealthAddressStructure.stealthAddress = e.stealthAddressStructure.stealthAddress.toString(), t.stealthAddressStructure.H0 = e.stealthAddressStructure.H0.toString(), t.stealthAddressStructure.H1 = e.stealthAddressStructure.H1.toString(), t.rootHashHinkal = e.rootHashHinkal?.toString(), t.externalActionId = e.externalActionId?.toString(), t.slippageValues = e.slippageValues.map((e) => e.toString()), t.hinkalLogicArgs.inHinkalAddress = e.hinkalLogicArgs.inHinkalAddress.toString(), t.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map((e) => e.toString()), t.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map((e) => ({
37
41
  approvalChanges: e.approvalChanges.map((e) => e.toString()),
38
42
  externalApprovalAddresses: e.externalApprovalAddresses,
39
43
  conversionInHinkalAddress: e.conversionInHinkalAddress.map((e) => e.toString())
40
44
  })), t.feeStructure.flatFee = e.feeStructure.flatFee.toString(), t.feeStructure.variableRate = e.feeStructure.variableRate.toString(), t;
41
- }, g = (n, i, s, l, u, d, f, p, m, h, g, _) => {
45
+ }, y = (n, i, s, l, u, d, f, p, m, h, g, _) => {
42
46
  let v = Object.values(f || r), y = _ ?? o(s ?? t, i), b = c.AbiCoder.defaultAbiCoder().encode([
43
47
  "uint16",
44
48
  "address",
@@ -73,7 +77,7 @@ var l = (e) => {
73
77
  y
74
78
  ]), S = BigInt(c.keccak256(b)), C = BigInt(c.keccak256(x)), w = c.AbiCoder.defaultAbiCoder().encode(["uint256", "uint256"], [S, C]);
75
79
  return BigInt(c.keccak256(w)) % e;
76
- }, _ = (e, t, n, r, i) => e.startsWith("mainEVMCircuitMin0") ? 3 : 2 + t.length + n.length + 1 + r.flat().length + i.flat().length + 1 + 1 + 1 + 1 + 1 + 1, v = (e, t, r) => {
80
+ }, b = (e, t, n, r, i) => e.startsWith("mainEVMCircuitMin0") ? 3 : 2 + t.length + n.length + 1 + r.flat().length + i.flat().length + 1 + 1 + 1 + 1 + 1 + 1, x = (e, t, r) => {
77
81
  let { H0: i } = n.getRandomizedStealthPair(e, t), a = n.getH1FromH0(i, t), o = BigInt(n.getStealthAddressNewStyle(i, t, r));
78
82
  return {
79
83
  extraRandomization: s(i[0]),
@@ -81,6 +85,6 @@ var l = (e) => {
81
85
  H1: a[1],
82
86
  stealthAddress: o
83
87
  };
84
- }, y = (e, t) => t.length === 0 ? "mainEVMCircuitMin0" : `mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;
88
+ }, S = (e, t) => t.length === 0 ? "mainEVMCircuitMin0" : `mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;
85
89
  //#endregion
86
- export { d as buildOutCommitments, f as calcAmountChanges, m as calcEncryptedOutputs, _ as calcPublicSignalCount, v as calcStealthAddressStructure, g as createCallDataHash, p as getSlippageValues, l as getUtxoCircuitH0Coords, u as getUtxoCircuitInRandomization, y as getZkProofVerifierName, h as serializeCircomData };
90
+ export { m as buildOutCommitments, p as buildZeroInputMerkleDataFromSerialized, h as calcAmountChanges, _ as calcEncryptedOutputs, b as calcPublicSignalCount, x as calcStealthAddressStructure, y as createCallDataHash, g as getSlippageValues, l as getUtxoCircuitH0Coords, u as getUtxoCircuitInRandomization, S as getZkProofVerifierName, f as hasOnlyZeroAmounts, v as serializeCircomData };
@@ -1 +1 @@
1
- const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`../../webworker/worker.registry.cjs`),i=require(`../../webworker/performTaskWithWorker.cjs`),a=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),o=require(`./fetchMerkleTreeSiblings.cjs`),s=require(`./fetchOnChainRootHashes.cjs`);var c=async(t,n)=>{let o=t.getRootHash();if(o===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s;return s=(e.isNode,await i.performTaskWithWorker({type:r.WorkerVariant.ZKProof,payload:{type:a.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:s.inCommitmentSiblings,inCommitmentSiblingSides:s.inCommitmentSiblingSides,rootHashHinkal:o}},l=async(e,t)=>{let r=await o.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal)}},u=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await s.fetchOnChainRootHashes(e);return n===r}catch{return!1}},d=async(e,n,r)=>await u(e,r)||t.isLocalNetwork(e)?c(r,n):l(e,n),f=async(t,n,o)=>{if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:s,rootHashHinkal:c}=await d(t,o,n);return{inCommitmentSiblings:e,inCommitmentSiblingSides:s,rootHashHinkal:c,inNullifiers:await i.performTaskWithWorker({type:r.WorkerVariant.ZKProof,payload:{type:a.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:o}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:s,rootHashHinkal:c},l]=await Promise.all([d(t,o,n),i.performTaskWithWorker({type:r.WorkerVariant.ZKProof,payload:{type:a.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:o}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:s,rootHashHinkal:c,inNullifiers:l}}};exports.getDataFromWorkers=f;
1
+ const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s;return s=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:s.inCommitmentSiblings,inCommitmentSiblingSides:s.inCommitmentSiblingSides,rootHashHinkal:r}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r)=>await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t}}let{hinkalRootHash:i}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r}=await f(n,l,s);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r},c]=await Promise.all([f(n,l,s),a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,inNullifiers:c}}};exports.getDataFromWorkers=p;
@@ -1,6 +1,5 @@
1
1
  import { MerkleTree } from '../../data-structures/merkle-tree';
2
2
  import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
3
- import { ZKProofWorkerBuildInNullifiersReturn } from '../../webworker/zkProofWorker/zkProofWorker.types';
4
3
  interface MerkleTreeSiblingsAndRootHashes {
5
4
  inCommitmentSiblings: string[][][];
6
5
  inCommitmentSiblingSides: string[][][];
@@ -8,9 +7,9 @@ interface MerkleTreeSiblingsAndRootHashes {
8
7
  }
9
8
  export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint>) => Promise<MerkleTreeSiblingsAndRootHashes>;
10
9
  export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][]) => Promise<{
10
+ rootHashHinkal: bigint;
11
11
  inCommitmentSiblings: string[][][];
12
12
  inCommitmentSiblingSides: string[][][];
13
- rootHashHinkal: bigint;
14
- inNullifiers: ZKProofWorkerBuildInNullifiersReturn;
13
+ inNullifiers: string[][];
15
14
  }>;
16
15
  export {};
@@ -1,77 +1,94 @@
1
1
  import { isNode as e } from "../../constants/vite.constants.mjs";
2
2
  import { isLocalNetwork as t } from "../../constants/chains.constants.mjs";
3
3
  import { toBigInt as n } from "../utils/amounts.utils.mjs";
4
- import { WorkerVariant as r } from "../../webworker/worker.registry.mjs";
5
- import { performTaskWithWorker as i } from "../../webworker/performTaskWithWorker.mjs";
6
- import { ZKProofWorkerActionType as a } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
7
- import { fetchMerkleTreeSiblings as o } from "./fetchMerkleTreeSiblings.mjs";
8
- import { fetchOnChainRootHashes as s } from "./fetchOnChainRootHashes.mjs";
4
+ import { buildZeroInputMerkleDataFromSerialized as r, hasOnlyZeroAmounts as i } from "./common.snarkjs.mjs";
5
+ import { WorkerVariant as a } from "../../webworker/worker.registry.mjs";
6
+ import { performTaskWithWorker as o } from "../../webworker/performTaskWithWorker.mjs";
7
+ import { ZKProofWorkerActionType as s } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
8
+ import { fetchMerkleTreeSiblings as c } from "./fetchMerkleTreeSiblings.mjs";
9
+ import { fetchOnChainRootHashes as l } from "./fetchOnChainRootHashes.mjs";
9
10
  //#region libs/shared/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.ts
10
- var c = async (e, t) => {
11
+ var u = async (e, t) => {
11
12
  let n = e.getRootHash();
12
13
  if (n === void 0) throw Error("Root hash not available from hinkal merkle tree");
13
- let o;
14
- return o = await i({
15
- type: r.ZKProof,
14
+ let r;
15
+ return r = await o({
16
+ type: a.ZKProof,
16
17
  payload: {
17
- type: a.CALC_COMMITMENTS_SIBLING_AND_SIDES,
18
+ type: s.CALC_COMMITMENTS_SIBLING_AND_SIDES,
18
19
  data: {
19
20
  inputUtxosSerialized: t,
20
21
  merkleTreeSerialized: e.toJSON()
21
22
  }
22
23
  }
23
24
  }), {
24
- inCommitmentSiblings: o.inCommitmentSiblings,
25
- inCommitmentSiblingSides: o.inCommitmentSiblingSides,
25
+ inCommitmentSiblings: r.inCommitmentSiblings,
26
+ inCommitmentSiblingSides: r.inCommitmentSiblingSides,
26
27
  rootHashHinkal: n
27
28
  };
28
- }, l = async (e, t) => {
29
- let r = await o(e, t);
29
+ }, d = async (e, t) => {
30
+ let r = await c(e, t);
30
31
  return {
31
32
  inCommitmentSiblings: r.inCommitmentSiblings,
32
33
  inCommitmentSiblingSides: r.inCommitmentSiblingSides,
33
34
  rootHashHinkal: n(r.rootHashHinkal)
34
35
  };
35
- }, u = async (e, t) => {
36
+ }, f = async (e, t) => {
36
37
  if (!t) return !1;
37
38
  try {
38
39
  let n = t.getRootHash();
39
40
  if (n === void 0) return !1;
40
- let { hinkalRootHash: r } = await s(e);
41
+ let { hinkalRootHash: r } = await l(e);
41
42
  return n === r;
42
43
  } catch {
43
44
  return !1;
44
45
  }
45
- }, d = async (e, n, r) => await u(e, r) || t(e) ? c(r, n) : l(e, n), f = async (t, n, o) => {
46
+ }, p = async (e, n, r) => await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u) => {
47
+ if (i(u)) {
48
+ let e = r(u);
49
+ if (t(n)) {
50
+ let t = c.getRootHash();
51
+ if (t === void 0) throw Error("Root hash not available from hinkal merkle tree");
52
+ return {
53
+ ...e,
54
+ rootHashHinkal: t
55
+ };
56
+ }
57
+ let { hinkalRootHash: i } = await l(n);
58
+ return {
59
+ ...e,
60
+ rootHashHinkal: i
61
+ };
62
+ }
46
63
  if (e) {
47
- let { inCommitmentSiblings: e, inCommitmentSiblingSides: s, rootHashHinkal: c } = await d(t, o, n);
64
+ let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r } = await p(n, u, c);
48
65
  return {
49
66
  inCommitmentSiblings: e,
50
- inCommitmentSiblingSides: s,
51
- rootHashHinkal: c,
52
- inNullifiers: await i({
53
- type: r.ZKProof,
67
+ inCommitmentSiblingSides: t,
68
+ rootHashHinkal: r,
69
+ inNullifiers: await o({
70
+ type: a.ZKProof,
54
71
  payload: {
55
- type: a.BUILD_IN_NULLIFIERS,
56
- data: { inputUtxosSerialized: o }
72
+ type: s.BUILD_IN_NULLIFIERS,
73
+ data: { inputUtxosSerialized: u }
57
74
  }
58
75
  })
59
76
  };
60
77
  } else {
61
- let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: s, rootHashHinkal: c }, l] = await Promise.all([d(t, o, n), i({
62
- type: r.ZKProof,
78
+ let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r }, i] = await Promise.all([p(n, u, c), o({
79
+ type: a.ZKProof,
63
80
  payload: {
64
- type: a.BUILD_IN_NULLIFIERS,
65
- data: { inputUtxosSerialized: o }
81
+ type: s.BUILD_IN_NULLIFIERS,
82
+ data: { inputUtxosSerialized: u }
66
83
  }
67
84
  })]);
68
85
  return {
69
86
  inCommitmentSiblings: e,
70
- inCommitmentSiblingSides: s,
71
- rootHashHinkal: c,
72
- inNullifiers: l
87
+ inCommitmentSiblingSides: t,
88
+ rootHashHinkal: r,
89
+ inNullifiers: i
73
90
  };
74
91
  }
75
92
  };
76
93
  //#endregion
77
- export { f as getDataFromWorkers };
94
+ export { m as getDataFromWorkers };
@@ -0,0 +1 @@
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);let e=require(`ethers`);var t=t=>JSON.parse(new e.ethers.Interface(t).formatJson()),n=e=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n)]));exports.toJsonAbi=t,exports.withJsonAbis=n;
@@ -0,0 +1,3 @@
1
+ import { InterfaceAbi } from 'ethers';
2
+ export declare const toJsonAbi: (abi: InterfaceAbi) => InterfaceAbi;
3
+ export declare const withJsonAbis: (data: Record<string, unknown>) => Record<string, unknown>;
@@ -0,0 +1,5 @@
1
+ import { ethers as e } from "ethers";
2
+ //#region libs/shared/common/src/functions/utils/abi.utils.ts
3
+ var t = (t) => JSON.parse(new e.Interface(t).formatJson()), n = (e) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)]));
4
+ //#endregion
5
+ export { t as toJsonAbi, n as withJsonAbis };
@@ -0,0 +1 @@
1
+ const e=require(`../../constants/protocol.constants.cjs`);var t=(t,n=e.CIRCOM_P)=>{let r=t%n;return r>=0n?r:r+n},n=(e,n,r)=>{let i=1n,a=t(e,r),o=n;for(;o>0n;)o%2n==1n&&(i=i*a%r),o/=2n,a=a*a%r;return i};exports.mod=t,exports.modpow=n;
@@ -0,0 +1,2 @@
1
+ export declare const mod: (value: bigint, m?: bigint) => bigint;
2
+ export declare const modpow: (b: bigint, e: bigint, m: bigint) => bigint;
@@ -0,0 +1,12 @@
1
+ import { CIRCOM_P as e } from "../../constants/protocol.constants.mjs";
2
+ //#region libs/shared/common/src/functions/utils/bigint-math.utils.ts
3
+ var t = (t, n = e) => {
4
+ let r = t % n;
5
+ return r >= 0n ? r : r + n;
6
+ }, n = (e, n, r) => {
7
+ let i = 1n, a = t(e, r), o = n;
8
+ for (; o > 0n;) o % 2n == 1n && (i = i * a % r), o /= 2n, a = a * a % r;
9
+ return i;
10
+ };
11
+ //#endregion
12
+ export { t as mod, n as modpow };
@@ -1 +1 @@
1
- require(`./upToDateState.cjs`),require(`../../error-handling/logger.cjs`),require(`../../mutexes/mutex.cjs`),require(`../web3/events/balanceChangedHandler.cjs`);
1
+ require(`./upToDateState.cjs`),require(`../../error-handling/logger.cjs`),require(`../../mutexes/mutex.cjs`),require(`../../data-structures/private-balances/BalanceChangedHandler.cjs`);
@@ -1,4 +1,4 @@
1
1
  import "./upToDateState.mjs";
2
2
  import "../../error-handling/logger.mjs";
3
3
  import "../../mutexes/mutex.mjs";
4
- import "../web3/events/balanceChangedHandler.mjs";
4
+ import "../../data-structures/private-balances/BalanceChangedHandler.mjs";
@@ -0,0 +1 @@
1
+ const e=require(`../snarkjs/constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);var n=class{cachedPublicKey;cachedAt=0;inFlight;constructor(e=300*1e3){this.ttlMs=e}async getPublicKey(){return this.cachedPublicKey&&Date.now()-this.cachedAt<this.ttlMs?this.cachedPublicKey:(this.inFlight||=t.httpClient.get(`${e.ENCLAVE_URL}/handshake`).then(e=>(this.cachedPublicKey=e.public_key,this.cachedAt=Date.now(),this.cachedPublicKey)).finally(()=>{this.inFlight=void 0}),this.inFlight)}invalidate(){this.cachedPublicKey=void 0,this.cachedAt=0}},r=new n;exports.EnclaveHandshakeService=n,exports.enclaveHandshakeService=r;
@@ -0,0 +1,10 @@
1
+ export declare class EnclaveHandshakeService {
2
+ private readonly ttlMs;
3
+ private cachedPublicKey?;
4
+ private cachedAt;
5
+ private inFlight?;
6
+ constructor(ttlMs?: number);
7
+ getPublicKey(): Promise<string>;
8
+ invalidate(): void;
9
+ }
10
+ export declare const enclaveHandshakeService: EnclaveHandshakeService;
@@ -0,0 +1,22 @@
1
+ import { ENCLAVE_URL as e } from "../snarkjs/constant.mjs";
2
+ import { httpClient as t } from "../../data-structures/http/HttpClient.mjs";
3
+ import "../../data-structures/http/index.mjs";
4
+ //#region libs/shared/common/src/functions/utils/enclaveHandshakeService.ts
5
+ var n = class {
6
+ cachedPublicKey;
7
+ cachedAt = 0;
8
+ inFlight;
9
+ constructor(e = 300 * 1e3) {
10
+ this.ttlMs = e;
11
+ }
12
+ async getPublicKey() {
13
+ return this.cachedPublicKey && Date.now() - this.cachedAt < this.ttlMs ? this.cachedPublicKey : (this.inFlight ||= t.get(`${e}/handshake`).then((e) => (this.cachedPublicKey = e.public_key, this.cachedAt = Date.now(), this.cachedPublicKey)).finally(() => {
14
+ this.inFlight = void 0;
15
+ }), this.inFlight);
16
+ }
17
+ invalidate() {
18
+ this.cachedPublicKey = void 0, this.cachedAt = 0;
19
+ }
20
+ }, r = new n();
21
+ //#endregion
22
+ export { n as EnclaveHandshakeService, r as enclaveHandshakeService };
@@ -1 +1 @@
1
- const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`../snarkjs/constant.cjs`),r=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);let i=require(`ethers`),a=require(`libsodium-wrappers`);a=e.__toESM(a);let o=require(`node-forge`);o=e.__toESM(o);var s=async()=>(await r.httpClient.get(`${n.ENCLAVE_URL}/handshake`)).public_key,c=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,l=e=>o.util.hexToBytes(e.replace(`0x`,``)),u=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=c(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(c)):t[e]=n.map(c))}),t},d=(e,t)=>{let n=o.util.decode64(e),r=o.asn1.fromDer(o.util.createBuffer(n)),i=o.pki.publicKeyFromAsn1(r),a=o.util.binary.raw.encode(t),s=i.encrypt(a,`RSA-OAEP`,{md:o.md.sha1.create(),mgf1:{md:o.md.sha1.create()}});return o.util.encode64(s)},f=(e,t)=>{let n=a.default.randombytes_buf(a.default.crypto_secretbox_NONCEBYTES),r=a.default.crypto_secretbox_easy(t,n,e),s=l(i.ethers.hexlify(n)+i.ethers.hexlify(r).slice(2));return o.util.encode64(s)},p=(e,t)=>{let n=a.default.randombytes_buf(a.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:d(t,n),inputCiphertext:f(n,e)}},m=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(u(e));return p(new TextEncoder().encode(r),n)},h=async e=>m(e,await s()),g=async e=>p(e,await s());exports.makeEnclaveHandshakeAndEncryptInput=h,exports.makeEnclaveHandshakeAndEncryptUint8Array=g;
1
+ const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`./enclaveHandshakeService.cjs`);let r=require(`ethers`),i=require(`libsodium-wrappers`);i=e.__toESM(i);let a=require(`node-forge`);a=e.__toESM(a);var o=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,s=e=>a.util.hexToBytes(e.replace(`0x`,``)),c=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=o(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(o)):t[e]=n.map(o))}),t},l=(e,t)=>{let n=a.util.decode64(e),r=a.asn1.fromDer(a.util.createBuffer(n)),i=a.pki.publicKeyFromAsn1(r),o=a.util.binary.raw.encode(t),s=i.encrypt(o,`RSA-OAEP`,{md:a.md.sha1.create(),mgf1:{md:a.md.sha1.create()}});return a.util.encode64(s)},u=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_NONCEBYTES),o=i.default.crypto_secretbox_easy(t,n,e),c=s(r.ethers.hexlify(n)+r.ethers.hexlify(o).slice(2));return a.util.encode64(c)},d=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:l(t,n),inputCiphertext:u(n,e)}},f=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(c(e));return d(new TextEncoder().encode(r),n)},p=async e=>f(e,await n.enclaveHandshakeService.getPublicKey()),m=async e=>d(e,await n.enclaveHandshakeService.getPublicKey());exports.makeEnclaveHandshakeAndEncryptInput=p,exports.makeEnclaveHandshakeAndEncryptUint8Array=m;
@@ -1,34 +1,32 @@
1
1
  import { safeJsonStringify as e } from "./serialize.utils.mjs";
2
- import { ENCLAVE_URL as t } from "../snarkjs/constant.mjs";
3
- import { httpClient as n } from "../../data-structures/http/HttpClient.mjs";
4
- import "../../data-structures/http/index.mjs";
5
- import { ethers as r } from "ethers";
6
- import i from "libsodium-wrappers";
7
- import * as a from "node-forge";
2
+ import { enclaveHandshakeService as t } from "./enclaveHandshakeService.mjs";
3
+ import { ethers as n } from "ethers";
4
+ import r from "libsodium-wrappers";
5
+ import * as i from "node-forge";
8
6
  //#region libs/shared/common/src/functions/utils/encryptInputForEnclave.ts
9
- var o = async () => (await n.get(`${t}/handshake`)).public_key, s = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, c = (e) => a.util.hexToBytes(e.replace("0x", "")), l = (e) => {
7
+ var a = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, o = (e) => i.util.hexToBytes(e.replace("0x", "")), s = (e) => {
10
8
  let t = structuredClone(e);
11
9
  return Object.entries(t).forEach(([e, n]) => {
12
- t[e] = s(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(s)) : t[e] = n.map(s));
10
+ t[e] = a(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(a)) : t[e] = n.map(a));
13
11
  }), t;
14
- }, u = (e, t) => {
15
- let n = a.util.decode64(e), r = a.asn1.fromDer(a.util.createBuffer(n)), i = a.pki.publicKeyFromAsn1(r), o = a.util.binary.raw.encode(t), s = i.encrypt(o, "RSA-OAEP", {
16
- md: a.md.sha1.create(),
17
- mgf1: { md: a.md.sha1.create() }
12
+ }, c = (e, t) => {
13
+ let n = i.util.decode64(e), r = i.asn1.fromDer(i.util.createBuffer(n)), a = i.pki.publicKeyFromAsn1(r), o = i.util.binary.raw.encode(t), s = a.encrypt(o, "RSA-OAEP", {
14
+ md: i.md.sha1.create(),
15
+ mgf1: { md: i.md.sha1.create() }
18
16
  });
19
- return a.util.encode64(s);
20
- }, d = (e, t) => {
21
- let n = i.randombytes_buf(i.crypto_secretbox_NONCEBYTES), o = i.crypto_secretbox_easy(t, n, e), s = c(r.hexlify(n) + r.hexlify(o).slice(2));
22
- return a.util.encode64(s);
23
- }, f = (e, t) => {
24
- let n = i.randombytes_buf(i.crypto_secretbox_KEYBYTES);
17
+ return i.util.encode64(s);
18
+ }, l = (e, t) => {
19
+ let a = r.randombytes_buf(r.crypto_secretbox_NONCEBYTES), s = r.crypto_secretbox_easy(t, a, e), c = o(n.hexlify(a) + n.hexlify(s).slice(2));
20
+ return i.util.encode64(c);
21
+ }, u = (e, t) => {
22
+ let n = r.randombytes_buf(r.crypto_secretbox_KEYBYTES);
25
23
  return {
26
- keyCiphertext: u(t, n),
27
- inputCiphertext: d(n, e)
24
+ keyCiphertext: c(t, n),
25
+ inputCiphertext: l(n, e)
28
26
  };
29
- }, p = (t, n) => {
30
- let r = typeof t == "string" ? t : e(l(t));
31
- return f(new TextEncoder().encode(r), n);
32
- }, m = async (e) => p(e, await o()), h = async (e) => f(e, await o());
27
+ }, d = (t, n) => {
28
+ let r = typeof t == "string" ? t : e(s(t));
29
+ return u(new TextEncoder().encode(r), n);
30
+ }, f = async (e) => d(e, await t.getPublicKey()), p = async (e) => u(e, await t.getPublicKey());
33
31
  //#endregion
34
- export { m as makeEnclaveHandshakeAndEncryptInput, h as makeEnclaveHandshakeAndEncryptUint8Array };
32
+ export { f as makeEnclaveHandshakeAndEncryptInput, p as makeEnclaveHandshakeAndEncryptUint8Array };
@@ -1 +1 @@
1
- require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async e=>await t.getTokensForChainCall(e),a=async(e,n)=>await t.getTokenBySymbolCall(n,e),o=async(e,t)=>{let r=await n(t,e.erc20TokenAddress);return r?{...e,name:r.name,symbol:r.symbol,logoURI:r.logoURI,decimals:r.decimals}:e},s=t=>t.nftTokenType===e.TokenType.ERC721||t.nftTokenType===e.TokenType.ERC1155||t.nftTokenType===e.TokenType.MetaplexNFT||t.nftTokenType===e.TokenType.Token2022NFT||t.nftTokenType===e.TokenType.CompressedNFT;exports.getErc20TokenBySymbolFromAPI=a,exports.getErc20TokenFromAPI=n,exports.getErc20TokensForChainAPI=i,exports.getErc20TokensFromAPI=r,exports.isNFTToken=s,exports.overlayTokenWithRegistryData=o;
1
+ require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async(e,t)=>{let r=await n(e,t);if(!r)throw Error(`Token not found: ${t} on chain ${e}`);return r},a=async(e,t)=>{if(t.length===0)return[];let n=await r(e,t);return t.map((t,r)=>{let i=n[r];if(!i)throw Error(`Token not found: ${t} on chain ${e}`);return i})},o=async e=>await t.getTokensForChainCall(e),s=async(e,n)=>await t.getTokensBySymbolsCall(n,e),c=async(e,t)=>{if(e.length===0)return[];let n=await r(t,e.map(e=>e.erc20TokenAddress));return e.map((e,t)=>{let r=n[t];return r?{...e,name:r.name,symbol:r.symbol,logoURI:r.logoURI,decimals:r.decimals}:e})},l=t=>t.nftTokenType===e.TokenType.ERC721||t.nftTokenType===e.TokenType.ERC1155||t.nftTokenType===e.TokenType.MetaplexNFT||t.nftTokenType===e.TokenType.Token2022NFT||t.nftTokenType===e.TokenType.CompressedNFT;exports.getErc20TokenFromAPI=n,exports.getErc20TokensBySymbolsFromAPI=s,exports.getErc20TokensForChainAPI=o,exports.getErc20TokensFromAPI=r,exports.isNFTToken=l,exports.overlayTokensWithRegistryData=c,exports.resolveErc20Token=i,exports.resolveErc20Tokens=a;