@sabaaa1/common 0.1.14 → 0.2.28

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 (2529) hide show
  1. package/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/_virtual/_rolldown/runtime.mjs +7 -0
  3. package/assets/snarkjsWorkerLauncher-DCE7s9iO.js +1 -0
  4. package/assets/snarkjsWorkerLogic-986pllmw.js +141 -0
  5. package/assets/utxoWorkerLauncher-Dhd__bWr.js +1 -0
  6. package/assets/utxoWorkerLogic-yvQoI16-.js +156 -0
  7. package/assets/zkProofWorkerLauncher-BXxDZIpI.js +1 -0
  8. package/assets/zkProofWorkerLogic-DnCecahv.js +156 -0
  9. package/common/src/API/API.cjs +1 -0
  10. package/common/src/API/API.d.ts +136 -0
  11. package/common/src/API/API.mjs +138 -0
  12. package/common/src/API/accessCodeCalls.cjs +1 -0
  13. package/common/src/API/accessCodeCalls.mjs +13 -0
  14. package/common/src/API/admin-calls.cjs +1 -0
  15. package/common/src/API/admin-calls.d.ts +9 -0
  16. package/common/src/API/admin-calls.mjs +8 -0
  17. package/common/src/API/brotherhoodCalls.cjs +1 -0
  18. package/common/src/API/brotherhoodCalls.mjs +17 -0
  19. package/common/src/API/callLifiAPI.cjs +1 -0
  20. package/common/src/API/callLifiAPI.d.ts +33 -0
  21. package/common/src/API/callLifiAPI.mjs +8 -0
  22. package/common/src/API/callMonitor.cjs +1 -0
  23. package/common/src/API/callMonitor.d.ts +9 -0
  24. package/common/src/API/callMonitor.mjs +8 -0
  25. package/common/src/API/callOdosAPI.cjs +1 -0
  26. package/common/src/API/callOdosAPI.mjs +18 -0
  27. package/common/src/API/callOkxAPI.cjs +1 -0
  28. package/common/src/API/callOkxAPI.d.ts +10 -0
  29. package/common/src/API/callOkxAPI.mjs +10 -0
  30. package/common/src/API/callOneInchAPI.cjs +1 -0
  31. package/common/src/API/callOneInchAPI.mjs +13 -0
  32. package/common/src/API/callRelayer.cjs +1 -0
  33. package/common/src/API/callRelayer.d.ts +41 -0
  34. package/common/src/API/callRelayer.mjs +16 -0
  35. package/common/src/API/checkRisk.cjs +1 -0
  36. package/common/src/API/checkRisk.d.ts +1 -0
  37. package/common/src/API/checkRisk.mjs +3 -0
  38. package/common/src/API/dashboardAccountCalls.cjs +1 -0
  39. package/common/src/API/dashboardAccountCalls.d.ts +24 -0
  40. package/common/src/API/dashboardAccountCalls.mjs +10 -0
  41. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -0
  42. package/common/src/API/dashboardAccountMemberCalls.d.ts +34 -0
  43. package/common/src/API/dashboardAccountMemberCalls.mjs +16 -0
  44. package/common/src/API/dashboardBalanceCalls.cjs +1 -0
  45. package/common/src/API/dashboardBalanceCalls.d.ts +12 -0
  46. package/common/src/API/dashboardBalanceCalls.mjs +13 -0
  47. package/common/src/API/dashboardContactCalls.cjs +1 -0
  48. package/common/src/API/dashboardContactCalls.d.ts +9 -0
  49. package/common/src/API/dashboardContactCalls.mjs +13 -0
  50. package/common/src/API/dashboardPayoutCalls.cjs +1 -0
  51. package/common/src/API/dashboardPayoutCalls.d.ts +14 -0
  52. package/common/src/API/dashboardPayoutCalls.mjs +13 -0
  53. package/common/src/API/dashboardTransactionCalls.cjs +1 -0
  54. package/common/src/API/dashboardTransactionCalls.d.ts +3 -0
  55. package/common/src/API/dashboardTransactionCalls.mjs +10 -0
  56. package/common/src/API/deposit-and-withdraw-status-calls.cjs +1 -0
  57. package/common/src/API/deposit-and-withdraw-status-calls.d.ts +21 -0
  58. package/common/src/API/deposit-and-withdraw-status-calls.mjs +13 -0
  59. package/common/src/API/enclaveSignatureCalls.cjs +1 -0
  60. package/common/src/API/enclaveSignatureCalls.d.ts +10 -0
  61. package/common/src/API/enclaveSignatureCalls.mjs +15 -0
  62. package/common/src/API/enclaveUtxoCalls.cjs +1 -0
  63. package/common/src/API/enclaveUtxoCalls.d.ts +40 -0
  64. package/common/src/API/enclaveUtxoCalls.mjs +24 -0
  65. package/common/src/API/fetchCommitmentsCache.cjs +1 -0
  66. package/common/src/API/fetchCommitmentsCache.d.ts +37 -0
  67. package/common/src/API/fetchCommitmentsCache.mjs +33 -0
  68. package/common/src/API/generate-trading-points.cjs +1 -0
  69. package/common/src/API/generate-trading-points.mjs +23 -0
  70. package/common/src/API/get-token-data.cjs +1 -0
  71. package/common/src/API/get-token-data.d.ts +6 -0
  72. package/common/src/API/get-token-data.mjs +8 -0
  73. package/common/src/API/get-token-price-chart-data.cjs +1 -0
  74. package/common/src/API/get-token-price-chart-data.d.ts +16 -0
  75. package/common/src/API/get-token-price-chart-data.mjs +10 -0
  76. package/common/src/API/getAnyRecipientInfo.d.ts +1 -0
  77. package/common/src/API/getCoingeckoPrice.cjs +1 -0
  78. package/common/src/API/getCoingeckoPrice.d.ts +21 -0
  79. package/common/src/API/getCoingeckoPrice.mjs +2 -0
  80. package/common/src/API/getGasEstimates.cjs +1 -0
  81. package/common/src/API/getGasEstimates.mjs +12 -0
  82. package/common/src/API/getServerURL.cjs +1 -0
  83. package/common/src/API/getServerURL.d.ts +6 -0
  84. package/common/src/API/getServerURL.mjs +14 -0
  85. package/common/src/API/getTokenPrice.cjs +1 -0
  86. package/common/src/API/getTokenPrice.d.ts +10 -0
  87. package/common/src/API/getTokenPrice.mjs +11 -0
  88. package/common/src/API/getWebsiteURL.cjs +1 -0
  89. package/common/src/API/getWebsiteURL.d.ts +5 -0
  90. package/common/src/API/getWebsiteURL.mjs +1 -0
  91. package/common/src/API/index.cjs +1 -0
  92. package/common/src/API/index.d.ts +23 -0
  93. package/common/src/API/index.mjs +23 -0
  94. package/common/src/API/kycCalls.cjs +1 -0
  95. package/common/src/API/kycCalls.d.ts +19 -0
  96. package/common/src/API/kycCalls.mjs +33 -0
  97. package/common/src/API/leaderboardCalls.cjs +1 -0
  98. package/common/src/API/leaderboardCalls.mjs +8 -0
  99. package/common/src/API/onrampCalls.cjs +1 -0
  100. package/common/src/API/onrampCalls.d.ts +20 -0
  101. package/common/src/API/onrampCalls.mjs +11 -0
  102. package/common/src/API/privacy-score-calls.cjs +1 -0
  103. package/common/src/API/privacy-score-calls.d.ts +17 -0
  104. package/common/src/API/privacy-score-calls.mjs +18 -0
  105. package/common/src/API/privateSendEmailNotificationsCalls.cjs +1 -0
  106. package/common/src/API/privateSendEmailNotificationsCalls.d.ts +8 -0
  107. package/common/src/API/privateSendEmailNotificationsCalls.mjs +8 -0
  108. package/common/src/API/privateSendNonceCalls.cjs +1 -0
  109. package/common/src/API/privateSendNonceCalls.d.ts +13 -0
  110. package/common/src/API/privateSendNonceCalls.mjs +15 -0
  111. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -0
  112. package/common/src/API/privateSendRecipientInfoCalls.d.ts +21 -0
  113. package/common/src/API/privateSendRecipientInfoCalls.mjs +8 -0
  114. package/common/src/API/proxyAccountsCalls.cjs +1 -0
  115. package/common/src/API/proxyAccountsCalls.d.ts +6 -0
  116. package/common/src/API/proxyAccountsCalls.mjs +23 -0
  117. package/common/src/API/referralsCalls.cjs +1 -0
  118. package/common/src/API/referralsCalls.mjs +11 -0
  119. package/common/src/API/relayCalls.cjs +1 -0
  120. package/common/src/API/relayCalls.mjs +8 -0
  121. package/common/src/API/resolve-sns.cjs +1 -0
  122. package/common/src/API/resolve-sns.mjs +1 -0
  123. package/common/src/API/rewardsUserCalls.cjs +1 -0
  124. package/common/src/API/rewardsUserCalls.d.ts +60 -0
  125. package/common/src/API/rewardsUserCalls.mjs +16 -0
  126. package/common/src/API/scheduled-transactions-calls.cjs +1 -0
  127. package/common/src/API/scheduled-transactions-calls.d.ts +14 -0
  128. package/common/src/API/scheduled-transactions-calls.mjs +11 -0
  129. package/common/src/API/seedless-calls.cjs +1 -0
  130. package/common/src/API/seedless-calls.mjs +8 -0
  131. package/common/src/API/send-telegram-callback.cjs +1 -0
  132. package/common/src/API/send-telegram-callback.mjs +11 -0
  133. package/common/src/API/simulate-batch-tx.cjs +1 -0
  134. package/common/src/API/simulate-batch-tx.d.ts +3 -0
  135. package/common/src/API/simulate-batch-tx.mjs +11 -0
  136. package/common/src/API/simulate-transaction.cjs +1 -0
  137. package/common/src/API/simulate-transaction.d.ts +5 -0
  138. package/common/src/API/simulate-transaction.mjs +14 -0
  139. package/common/src/API/snapshot-event-calls.cjs +1 -0
  140. package/common/src/API/snapshot-event-calls.d.ts +7 -0
  141. package/common/src/API/snapshot-event-calls.mjs +12 -0
  142. package/common/src/API/solana-calls.cjs +1 -0
  143. package/common/src/API/solana-calls.d.ts +38 -0
  144. package/common/src/API/solana-calls.mjs +8 -0
  145. package/common/src/API/temporaryWalletCalls.cjs +1 -0
  146. package/common/src/API/temporaryWalletCalls.d.ts +13 -0
  147. package/common/src/API/temporaryWalletCalls.mjs +16 -0
  148. package/common/src/API/tenderly.api.cjs +1 -0
  149. package/common/src/API/tenderly.api.d.ts +19 -0
  150. package/common/src/API/tenderly.api.mjs +4 -0
  151. package/common/src/API/token-calls.cjs +1 -0
  152. package/common/src/API/token-calls.mjs +12 -0
  153. package/common/src/API/tronSubsidyCalls.cjs +1 -0
  154. package/common/src/API/tronSubsidyCalls.d.ts +13 -0
  155. package/common/src/API/tronSubsidyCalls.mjs +8 -0
  156. package/common/src/API/weeklyAnalyticCalls.cjs +1 -0
  157. package/common/src/API/weeklyAnalyticCalls.mjs +11 -0
  158. package/common/src/constants/activity.constants.cjs +1 -0
  159. package/common/src/constants/activity.constants.mjs +4 -0
  160. package/common/src/constants/addresses.constants.cjs +1 -0
  161. package/common/src/constants/addresses.constants.d.ts +60 -0
  162. package/common/src/constants/addresses.constants.mjs +61 -0
  163. package/common/src/constants/assets.constants.cjs +1 -0
  164. package/common/src/constants/assets.constants.mjs +4 -0
  165. package/common/src/constants/auth.constants.cjs +1 -0
  166. package/common/src/constants/auth.constants.d.ts +1 -0
  167. package/common/src/constants/auth.constants.mjs +4 -0
  168. package/common/src/constants/backend.constants.d.ts +12 -0
  169. package/common/src/constants/bridging.constants.d.ts +9 -0
  170. package/common/src/constants/chains.constants.cjs +1 -0
  171. package/common/src/constants/chains.constants.d.ts +42 -0
  172. package/common/src/constants/chains.constants.mjs +183 -0
  173. package/common/src/constants/coingecko.constants.cjs +1 -0
  174. package/common/src/constants/coingecko.constants.d.ts +39 -0
  175. package/common/src/constants/coingecko.constants.mjs +6 -0
  176. package/common/src/constants/contracts.constants.cjs +1 -0
  177. package/common/src/constants/contracts.constants.d.ts +119 -0
  178. package/common/src/constants/contracts.constants.mjs +53 -0
  179. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -0
  180. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +4216 -0
  181. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -0
  182. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +4478 -0
  183. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -0
  184. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +4228 -0
  185. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -0
  186. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +4230 -0
  187. package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -0
  188. package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +3087 -0
  189. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -0
  190. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +4228 -0
  191. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -0
  192. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +4228 -0
  193. package/common/src/constants/deploy-data/deploy-data-solana.json.cjs +1 -0
  194. package/common/src/constants/deploy-data/deploy-data-solana.json.mjs +7 -0
  195. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -0
  196. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +4267 -0
  197. package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -0
  198. package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +4267 -0
  199. package/common/src/constants/deploy-data/index.d.ts +11 -0
  200. package/common/src/constants/events.constants.cjs +1 -0
  201. package/common/src/constants/events.constants.mjs +12 -0
  202. package/common/src/constants/fees.constants.cjs +1 -0
  203. package/common/src/constants/fees.constants.d.ts +5 -0
  204. package/common/src/constants/fees.constants.mjs +10 -0
  205. package/common/src/constants/function-signatures.constants.d.ts +4 -0
  206. package/common/src/constants/images.constants.d.ts +1 -0
  207. package/common/src/constants/index.cjs +1 -0
  208. package/common/src/constants/index.d.ts +37 -0
  209. package/common/src/constants/index.mjs +33 -0
  210. package/common/src/constants/kyc.constants.cjs +1 -0
  211. package/common/src/constants/kyc.constants.d.ts +29 -0
  212. package/common/src/constants/kyc.constants.mjs +126 -0
  213. package/common/src/constants/link.constant.d.ts +1 -0
  214. package/common/src/constants/mediaUrls.constants.d.ts +42 -0
  215. package/common/src/constants/oauthUrls.constants.d.ts +4 -0
  216. package/common/src/constants/pay.constants.d.ts +1 -0
  217. package/common/src/constants/permit2.constants.cjs +1 -0
  218. package/common/src/constants/permit2.constants.d.ts +7 -0
  219. package/common/src/constants/permit2.constants.mjs +10 -0
  220. package/common/src/constants/presale.constants.cjs +1 -0
  221. package/common/src/constants/presale.constants.d.ts +87 -0
  222. package/common/src/constants/presale.constants.mjs +3 -0
  223. package/common/src/constants/protocol.constants.cjs +1 -0
  224. package/common/src/constants/protocol.constants.d.ts +60 -0
  225. package/common/src/constants/protocol.constants.mjs +18 -0
  226. package/common/src/constants/reorg-depths.constants.cjs +1 -0
  227. package/common/src/constants/reorg-depths.constants.d.ts +14 -0
  228. package/common/src/constants/reorg-depths.constants.mjs +17 -0
  229. package/common/src/constants/save-depths.cjs +1 -0
  230. package/common/src/constants/save-depths.d.ts +16 -0
  231. package/common/src/constants/save-depths.mjs +19 -0
  232. package/common/src/constants/schedule.constants.cjs +1 -0
  233. package/common/src/constants/schedule.constants.d.ts +2 -0
  234. package/common/src/constants/schedule.constants.mjs +3 -0
  235. package/common/src/constants/server.constants.cjs +1 -0
  236. package/common/src/constants/server.constants.d.ts +137 -0
  237. package/common/src/constants/server.constants.mjs +133 -0
  238. package/common/src/constants/tasks.constants.cjs +1 -0
  239. package/common/src/constants/tasks.constants.mjs +124 -0
  240. package/common/src/constants/token-data/ERC20Registry.cjs +1 -0
  241. package/common/src/constants/token-data/ERC20Registry.mjs +31 -0
  242. package/common/src/constants/token-data/arbMainnetRegistry.json.cjs +1 -0
  243. package/common/src/constants/token-data/arbMainnetRegistry.json.mjs +1841 -0
  244. package/common/src/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -0
  245. package/common/src/constants/token-data/arbMainnetRegistryFixed.json.mjs +1841 -0
  246. package/common/src/constants/token-data/arcTestnetRegistry.json.cjs +1 -0
  247. package/common/src/constants/token-data/arcTestnetRegistry.json.mjs +435 -0
  248. package/common/src/constants/token-data/baseRegistry.json.cjs +1 -0
  249. package/common/src/constants/token-data/baseRegistry.json.mjs +1134 -0
  250. package/common/src/constants/token-data/baseRegistryFixed.json.cjs +1 -0
  251. package/common/src/constants/token-data/baseRegistryFixed.json.mjs +1134 -0
  252. package/common/src/constants/token-data/ethMainnetRegistry.json.cjs +1 -0
  253. package/common/src/constants/token-data/ethMainnetRegistry.json.mjs +4274 -0
  254. package/common/src/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -0
  255. package/common/src/constants/token-data/ethMainnetRegistryFixed.json.mjs +4274 -0
  256. package/common/src/constants/token-data/index.cjs +1 -0
  257. package/common/src/constants/token-data/index.d.ts +1149 -0
  258. package/common/src/constants/token-data/index.mjs +17 -0
  259. package/common/src/constants/token-data/localhostRegistry.json.cjs +1 -0
  260. package/common/src/constants/token-data/localhostRegistry.json.mjs +2758 -0
  261. package/common/src/constants/token-data/optimismRegistry.json.cjs +1 -0
  262. package/common/src/constants/token-data/optimismRegistry.json.mjs +701 -0
  263. package/common/src/constants/token-data/optimismRegistryFixed.json.cjs +1 -0
  264. package/common/src/constants/token-data/optimismRegistryFixed.json.mjs +701 -0
  265. package/common/src/constants/token-data/polygonRegistry.json.cjs +1 -0
  266. package/common/src/constants/token-data/polygonRegistry.json.mjs +2309 -0
  267. package/common/src/constants/token-data/polygonRegistryFixed.json.cjs +1 -0
  268. package/common/src/constants/token-data/polygonRegistryFixed.json.mjs +2309 -0
  269. package/common/src/constants/token-data/solanaLocalnetRegistry.json.cjs +1 -0
  270. package/common/src/constants/token-data/solanaLocalnetRegistry.json.mjs +17 -0
  271. package/common/src/constants/token-data/solanaMainnetRegistry.json.cjs +1 -0
  272. package/common/src/constants/token-data/solanaMainnetRegistry.json.mjs +625 -0
  273. package/common/src/constants/token-data/tronMainnetRegistry.json.cjs +1 -0
  274. package/common/src/constants/token-data/tronMainnetRegistry.json.mjs +17 -0
  275. package/common/src/constants/token-data/tronNileRegistry.json.cjs +1 -0
  276. package/common/src/constants/token-data/tronNileRegistry.json.mjs +17 -0
  277. package/common/src/constants/token.limits.constants.cjs +1 -0
  278. package/common/src/constants/token.limits.constants.mjs +5 -0
  279. package/common/src/constants/tokens.constants.cjs +1 -0
  280. package/common/src/constants/tokens.constants.d.ts +4 -0
  281. package/common/src/constants/tokens.constants.mjs +3 -0
  282. package/common/src/constants/tx-confirmation.constants.cjs +1 -0
  283. package/common/src/constants/tx-confirmation.constants.d.ts +4 -0
  284. package/common/src/constants/tx-confirmation.constants.mjs +4 -0
  285. package/common/src/constants/vite.constants.cjs +1 -0
  286. package/common/src/constants/vite.constants.d.ts +15 -0
  287. package/common/src/constants/vite.constants.mjs +26 -0
  288. package/common/src/constants/wallet.constants.d.ts +2 -0
  289. package/common/src/crypto/babyJub.cjs +1 -0
  290. package/common/src/crypto/babyJub.mjs +12 -0
  291. package/common/src/crypto/index.cjs +1 -0
  292. package/common/src/crypto/index.mjs +3 -0
  293. package/common/src/crypto/poseidon.cjs +1 -0
  294. package/common/src/crypto/poseidon.mjs +22 -0
  295. package/common/src/crypto/preProcessing.cjs +1 -0
  296. package/common/src/crypto/preProcessing.mjs +15 -0
  297. package/common/src/data-structures/AccountActions/AccountActions.cjs +1 -0
  298. package/common/src/data-structures/AccountActions/AccountActions.d.ts +17 -0
  299. package/common/src/data-structures/AccountActions/AccountActions.mjs +65 -0
  300. package/common/src/data-structures/AccountActions/index.cjs +1 -0
  301. package/common/src/data-structures/AccountActions/index.d.ts +1 -0
  302. package/common/src/data-structures/AccountActions/index.mjs +1 -0
  303. package/common/src/data-structures/BlockchainEvent/BlockchainEvent.cjs +1 -0
  304. package/common/src/data-structures/BlockchainEvent/BlockchainEvent.d.ts +14 -0
  305. package/common/src/data-structures/BlockchainEvent/BlockchainEvent.mjs +41 -0
  306. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -0
  307. package/common/src/data-structures/Hinkal/Hinkal.d.ts +115 -0
  308. package/common/src/data-structures/Hinkal/Hinkal.mjs +437 -0
  309. package/common/src/data-structures/Hinkal/IHinkal.d.ts +104 -0
  310. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -0
  311. package/common/src/data-structures/Hinkal/handleAutoDepositBack.d.ts +3 -0
  312. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +93 -0
  313. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -0
  314. package/common/src/data-structures/Hinkal/hinkalActionReceive.d.ts +7 -0
  315. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +21 -0
  316. package/common/src/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +1 -0
  317. package/common/src/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +15 -0
  318. package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -0
  319. package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +4 -0
  320. package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +18 -0
  321. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -0
  322. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.d.ts +6 -0
  323. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +56 -0
  324. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -0
  325. package/common/src/data-structures/Hinkal/hinkalDeposit.d.ts +4 -0
  326. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +65 -0
  327. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -0
  328. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +4 -0
  329. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +119 -0
  330. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -0
  331. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +5 -0
  332. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +81 -0
  333. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -0
  334. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +8 -0
  335. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +76 -0
  336. package/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +1 -0
  337. package/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +9 -0
  338. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -0
  339. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +28 -0
  340. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +22 -0
  341. package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +1 -0
  342. package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +3 -0
  343. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +12 -0
  344. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -0
  345. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.d.ts +6 -0
  346. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +58 -0
  347. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -0
  348. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +5 -0
  349. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +167 -0
  350. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -0
  351. package/common/src/data-structures/Hinkal/hinkalProxySwap.d.ts +7 -0
  352. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +24 -0
  353. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -0
  354. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +6 -0
  355. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +28 -0
  356. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -0
  357. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.d.ts +4 -0
  358. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -0
  359. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -0
  360. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +5 -0
  361. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +97 -0
  362. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -0
  363. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +7 -0
  364. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +73 -0
  365. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -0
  366. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +6 -0
  367. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +170 -0
  368. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -0
  369. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +5 -0
  370. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +21 -0
  371. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -0
  372. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +6 -0
  373. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +36 -0
  374. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -0
  375. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +6 -0
  376. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +71 -0
  377. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -0
  378. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +5 -0
  379. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +64 -0
  380. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -0
  381. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.d.ts +4 -0
  382. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +100 -0
  383. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -0
  384. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +31 -0
  385. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +96 -0
  386. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -0
  387. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +4 -0
  388. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +81 -0
  389. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -0
  390. package/common/src/data-structures/Hinkal/hinkalSwap.d.ts +7 -0
  391. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +54 -0
  392. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -0
  393. package/common/src/data-structures/Hinkal/hinkalTransfer.d.ts +4 -0
  394. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +64 -0
  395. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -0
  396. package/common/src/data-structures/Hinkal/hinkalWithdraw.d.ts +7 -0
  397. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +69 -0
  398. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -0
  399. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +3 -0
  400. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +146 -0
  401. package/common/src/data-structures/Hinkal/index.d.ts +18 -0
  402. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -0
  403. package/common/src/data-structures/Hinkal/resetMerkleTrees.d.ts +2 -0
  404. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +63 -0
  405. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -0
  406. package/common/src/data-structures/IndexedDB/activity-db.d.ts +14 -0
  407. package/common/src/data-structures/IndexedDB/activity-db.mjs +109 -0
  408. package/common/src/data-structures/IndexedDB/balances-db.cjs +1 -0
  409. package/common/src/data-structures/IndexedDB/balances-db.mjs +47 -0
  410. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -0
  411. package/common/src/data-structures/IndexedDB/contact-db.mjs +45 -0
  412. package/common/src/data-structures/IndexedDB/index.cjs +1 -0
  413. package/common/src/data-structures/IndexedDB/index.d.ts +7 -0
  414. package/common/src/data-structures/IndexedDB/index.mjs +7 -0
  415. package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +1 -0
  416. package/common/src/data-structures/IndexedDB/pay-activity-db.d.ts +9 -0
  417. package/common/src/data-structures/IndexedDB/pay-activity-db.mjs +21 -0
  418. package/common/src/data-structures/IndexedDB/prices-db.cjs +1 -0
  419. package/common/src/data-structures/IndexedDB/prices-db.mjs +53 -0
  420. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -0
  421. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +22 -0
  422. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -0
  423. package/common/src/data-structures/IndexedDB/signatures-db.mjs +40 -0
  424. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -0
  425. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +20 -0
  426. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +73 -0
  427. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -0
  428. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +167 -0
  429. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -0
  430. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +94 -0
  431. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -0
  432. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +129 -0
  433. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -0
  434. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +50 -0
  435. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +1 -0
  436. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +29 -0
  437. package/common/src/data-structures/TokenDBs/index.cjs +1 -0
  438. package/common/src/data-structures/TokenDBs/index.mjs +4 -0
  439. package/common/src/data-structures/TokenDBs/token-visibility-db.cjs +1 -0
  440. package/common/src/data-structures/TokenDBs/token-visibility-db.mjs +78 -0
  441. package/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.cjs +1 -0
  442. package/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +26 -0
  443. package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -0
  444. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +21 -0
  445. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -0
  446. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +40 -0
  447. package/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.cjs +1 -0
  448. package/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +21 -0
  449. package/common/src/data-structures/cacheDevices/index.cjs +1 -0
  450. package/common/src/data-structures/cacheDevices/index.mjs +2 -0
  451. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -0
  452. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +79 -0
  453. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -0
  454. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +18 -0
  455. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +48 -0
  456. package/common/src/data-structures/crypto-keys/index.cjs +1 -0
  457. package/common/src/data-structures/crypto-keys/index.mjs +4 -0
  458. package/common/src/data-structures/crypto-keys/keyUtils.cjs +1 -0
  459. package/common/src/data-structures/crypto-keys/keyUtils.mjs +8 -0
  460. package/common/src/data-structures/crypto-keys/keys.cjs +1 -0
  461. package/common/src/data-structures/crypto-keys/keys.d.ts +87 -0
  462. package/common/src/data-structures/crypto-keys/keys.mjs +99 -0
  463. package/common/src/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -0
  464. package/common/src/data-structures/custom-token-registry/CustomTokenRegistry.mjs +25 -0
  465. package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -0
  466. package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +35 -0
  467. package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +75 -0
  468. package/common/src/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -0
  469. package/common/src/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +30 -0
  470. package/common/src/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +81 -0
  471. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -0
  472. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +34 -0
  473. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +93 -0
  474. package/common/src/data-structures/event-service/evm/AbstractEventService.cjs +1 -0
  475. package/common/src/data-structures/event-service/evm/AbstractEventService.d.ts +14 -0
  476. package/common/src/data-structures/event-service/evm/AbstractEventService.mjs +34 -0
  477. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -0
  478. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +22 -0
  479. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +43 -0
  480. package/common/src/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -0
  481. package/common/src/data-structures/event-service/evm/AbstractSnapshotService.d.ts +22 -0
  482. package/common/src/data-structures/event-service/evm/AbstractSnapshotService.mjs +33 -0
  483. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -0
  484. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +37 -0
  485. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +104 -0
  486. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -0
  487. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +11 -0
  488. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +21 -0
  489. package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -0
  490. package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +6 -0
  491. package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +1 -0
  492. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -0
  493. package/common/src/data-structures/event-service/helpers/ClientEventHelper.d.ts +10 -0
  494. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +28 -0
  495. package/common/src/data-structures/event-service/helpers/PollingEventHelper.d.ts +7 -0
  496. package/common/src/data-structures/event-service/index.cjs +1 -0
  497. package/common/src/data-structures/event-service/index.d.ts +17 -0
  498. package/common/src/data-structures/event-service/index.mjs +17 -0
  499. package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -0
  500. package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +35 -0
  501. package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +76 -0
  502. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -0
  503. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +34 -0
  504. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +98 -0
  505. package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -0
  506. package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +17 -0
  507. package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.mjs +39 -0
  508. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -0
  509. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +22 -0
  510. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +43 -0
  511. package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -0
  512. package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +21 -0
  513. package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +30 -0
  514. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +1 -0
  515. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +11 -0
  516. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +22 -0
  517. package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -0
  518. package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +6 -0
  519. package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +1 -0
  520. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -0
  521. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +42 -0
  522. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +178 -0
  523. package/common/src/data-structures/http/BasicHttpClient.cjs +1 -0
  524. package/common/src/data-structures/http/BasicHttpClient.mjs +25 -0
  525. package/common/src/data-structures/http/HttpClient.cjs +1 -0
  526. package/common/src/data-structures/http/HttpClient.d.ts +10 -0
  527. package/common/src/data-structures/http/HttpClient.mjs +14 -0
  528. package/common/src/data-structures/http/index.cjs +1 -0
  529. package/common/src/data-structures/http/index.mjs +2 -0
  530. package/common/src/data-structures/index.d.ts +20 -0
  531. package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -0
  532. package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +82 -0
  533. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +116 -0
  534. package/common/src/data-structures/merkle-tree/MerkleTreeIncompleteError.cjs +1 -0
  535. package/common/src/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +8 -0
  536. package/common/src/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +1 -0
  537. package/common/src/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +2 -0
  538. package/common/src/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +13 -0
  539. package/common/src/data-structures/merkle-tree/index.cjs +1 -0
  540. package/common/src/data-structures/merkle-tree/index.mjs +3 -0
  541. package/common/src/data-structures/presale/PresaleContractWrapper.d.ts +23 -0
  542. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +40 -0
  543. package/common/src/data-structures/snapshot/SnapshotFetcherService.cjs +1 -0
  544. package/common/src/data-structures/snapshot/SnapshotFetcherService.d.ts +16 -0
  545. package/common/src/data-structures/snapshot/SnapshotFetcherService.mjs +40 -0
  546. package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -0
  547. package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +29 -0
  548. package/common/src/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -0
  549. package/common/src/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +30 -0
  550. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -0
  551. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +23 -0
  552. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -0
  553. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +21 -0
  554. package/common/src/data-structures/snapshot/index.cjs +1 -0
  555. package/common/src/data-structures/snapshot/index.mjs +8 -0
  556. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -0
  557. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +26 -0
  558. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -0
  559. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +23 -0
  560. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -0
  561. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +21 -0
  562. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -0
  563. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +16 -0
  564. package/common/src/data-structures/utxo/Utxo.cjs +1 -0
  565. package/common/src/data-structures/utxo/Utxo.d.ts +63 -0
  566. package/common/src/data-structures/utxo/Utxo.mjs +112 -0
  567. package/common/src/error-handling/customErrors/ErrorWithAmount.cjs +1 -0
  568. package/common/src/error-handling/customErrors/ErrorWithAmount.mjs +9 -0
  569. package/common/src/error-handling/customErrors/ErrorWithIndex.d.ts +4 -0
  570. package/common/src/error-handling/customErrors/ErrorWithTx.cjs +1 -0
  571. package/common/src/error-handling/customErrors/ErrorWithTx.d.ts +4 -0
  572. package/common/src/error-handling/customErrors/ErrorWithTx.mjs +9 -0
  573. package/common/src/error-handling/customErrors/FeeOverTransactionValueError.cjs +1 -0
  574. package/common/src/error-handling/customErrors/FeeOverTransactionValueError.mjs +9 -0
  575. package/common/src/error-handling/customErrors/HttpError.d.ts +4 -0
  576. package/common/src/error-handling/customErrors/SimulationFailureError.d.ts +10 -0
  577. package/common/src/error-handling/customErrors/customErrors.helpers.cjs +1 -0
  578. package/common/src/error-handling/customErrors/customErrors.helpers.mjs +14 -0
  579. package/common/src/error-handling/customErrors/index.cjs +1 -0
  580. package/common/src/error-handling/customErrors/index.d.ts +7 -0
  581. package/common/src/error-handling/customErrors/index.mjs +4 -0
  582. package/common/src/error-handling/error-codes.constants.cjs +2 -0
  583. package/common/src/error-handling/error-codes.constants.d.ts +248 -0
  584. package/common/src/error-handling/error-codes.constants.mjs +240 -0
  585. package/common/src/error-handling/get-error.message.cjs +1 -0
  586. package/common/src/error-handling/get-error.message.d.ts +5 -0
  587. package/common/src/error-handling/get-error.message.mjs +74 -0
  588. package/common/src/error-handling/index.cjs +1 -0
  589. package/common/src/error-handling/index.d.ts +6 -0
  590. package/common/src/error-handling/index.mjs +10 -0
  591. package/common/src/error-handling/isInsufficientFundsError.cjs +1 -0
  592. package/common/src/error-handling/isInsufficientFundsError.d.ts +1 -0
  593. package/common/src/error-handling/isInsufficientFundsError.mjs +16 -0
  594. package/common/src/error-handling/logError.cjs +1 -0
  595. package/common/src/error-handling/logError.mjs +7 -0
  596. package/common/src/error-handling/logger.cjs +1 -0
  597. package/common/src/error-handling/logger.mjs +19 -0
  598. package/common/src/error-handling/retrySolanaError.cjs +1 -0
  599. package/common/src/error-handling/retrySolanaError.d.ts +1 -0
  600. package/common/src/error-handling/retrySolanaError.mjs +4 -0
  601. package/common/src/error-handling/types.cjs +1 -0
  602. package/common/src/error-handling/types.mjs +6 -0
  603. package/common/src/externalABIs/BabPassport.json.cjs +1 -0
  604. package/common/src/externalABIs/BabPassport.json.mjs +20 -0
  605. package/common/src/externalABIs/ERC1155.json.cjs +1 -0
  606. package/common/src/externalABIs/ERC1155.json.mjs +287 -0
  607. package/common/src/externalABIs/ERC20.json.cjs +1 -0
  608. package/common/src/externalABIs/ERC20.json.mjs +257 -0
  609. package/common/src/externalABIs/ERC721.json.cjs +1 -0
  610. package/common/src/externalABIs/ERC721.json.mjs +299 -0
  611. package/common/src/externalABIs/GalxePassport.json.cjs +1 -0
  612. package/common/src/externalABIs/GalxePassport.json.mjs +37 -0
  613. package/common/src/externalABIs/IQuoterV2.json.cjs +1 -0
  614. package/common/src/externalABIs/IQuoterV2.json.mjs +203 -0
  615. package/common/src/externalABIs/ISwapRouter.json.cjs +1 -0
  616. package/common/src/externalABIs/ISwapRouter.json.mjs +537 -0
  617. package/common/src/externalABIs/IUniswapV3Factory.json.cjs +1 -0
  618. package/common/src/externalABIs/IUniswapV3Factory.json.mjs +188 -0
  619. package/common/src/externalABIs/IUniswapV3Pool.json.cjs +1 -0
  620. package/common/src/externalABIs/IUniswapV3Pool.json.mjs +938 -0
  621. package/common/src/externalABIs/UniswapV2PoolAbi.json.cjs +1 -0
  622. package/common/src/externalABIs/UniswapV2PoolAbi.json.mjs +78 -0
  623. package/common/src/externalABIs/index.cjs +1 -0
  624. package/common/src/externalABIs/index.d.ts +254 -0
  625. package/common/src/externalABIs/index.mjs +13 -0
  626. package/common/src/externalABIs/swapAbi.cjs +1 -0
  627. package/common/src/externalABIs/swapAbi.mjs +249 -0
  628. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -0
  629. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +9 -0
  630. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +24 -0
  631. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs +1 -0
  632. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +3 -0
  633. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +21 -0
  634. package/common/src/functions/auto-deposit-back-helpers/index.cjs +1 -0
  635. package/common/src/functions/auto-deposit-back-helpers/index.d.ts +4 -0
  636. package/common/src/functions/auto-deposit-back-helpers/index.mjs +4 -0
  637. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -0
  638. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.d.ts +13 -0
  639. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +34 -0
  640. package/common/src/functions/auto-deposit-back-helpers/update-hinkal.cjs +1 -0
  641. package/common/src/functions/auto-deposit-back-helpers/update-hinkal.d.ts +3 -0
  642. package/common/src/functions/auto-deposit-back-helpers/update-hinkal.mjs +22 -0
  643. package/common/src/functions/connectors.types.d.ts +22 -0
  644. package/common/src/functions/index.cjs +1 -0
  645. package/common/src/functions/index.d.ts +14 -0
  646. package/common/src/functions/index.mjs +84 -0
  647. package/common/src/functions/kyc/aiPriseHelper.d.ts +0 -0
  648. package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +1 -0
  649. package/common/src/functions/kyc/checkTokenLimitsUSD.d.ts +1 -0
  650. package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +29 -0
  651. package/common/src/functions/kyc/index.cjs +1 -0
  652. package/common/src/functions/kyc/index.d.ts +4 -0
  653. package/common/src/functions/kyc/index.mjs +4 -0
  654. package/common/src/functions/kyc/openDefaultPassportWindow.cjs +1 -0
  655. package/common/src/functions/kyc/openDefaultPassportWindow.mjs +7 -0
  656. package/common/src/functions/kyc/passportHelper.cjs +1 -0
  657. package/common/src/functions/kyc/passportHelper.mjs +1 -0
  658. package/common/src/functions/kyc/zkMeHelper.cjs +1 -0
  659. package/common/src/functions/kyc/zkMeHelper.mjs +42 -0
  660. package/common/src/functions/pre-transaction/addressTableLookup.cjs +1 -0
  661. package/common/src/functions/pre-transaction/addressTableLookup.d.ts +4 -0
  662. package/common/src/functions/pre-transaction/addressTableLookup.mjs +2 -0
  663. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
  664. package/common/src/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
  665. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +53 -0
  666. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
  667. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
  668. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +5 -0
  669. package/common/src/functions/pre-transaction/constructAdminData.cjs +1 -0
  670. package/common/src/functions/pre-transaction/constructAdminData.d.ts +3 -0
  671. package/common/src/functions/pre-transaction/constructAdminData.mjs +26 -0
  672. package/common/src/functions/pre-transaction/convert-okx-instructions.cjs +1 -0
  673. package/common/src/functions/pre-transaction/convert-okx-instructions.d.ts +11 -0
  674. package/common/src/functions/pre-transaction/convert-okx-instructions.mjs +34 -0
  675. package/common/src/functions/pre-transaction/ensureAmountChanges.cjs +1 -0
  676. package/common/src/functions/pre-transaction/ensureAmountChanges.d.ts +2 -0
  677. package/common/src/functions/pre-transaction/ensureAmountChanges.mjs +10 -0
  678. package/common/src/functions/pre-transaction/getExternalSwapAddress.cjs +1 -0
  679. package/common/src/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -0
  680. package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +27 -0
  681. package/common/src/functions/pre-transaction/getFeeStructure.cjs +1 -0
  682. package/common/src/functions/pre-transaction/getFeeStructure.d.ts +5 -0
  683. package/common/src/functions/pre-transaction/getFeeStructure.mjs +20 -0
  684. package/common/src/functions/pre-transaction/getFlatFees.cjs +1 -0
  685. package/common/src/functions/pre-transaction/getFlatFees.d.ts +11 -0
  686. package/common/src/functions/pre-transaction/getFlatFees.mjs +4 -0
  687. package/common/src/functions/pre-transaction/getKycAndSignatureData.cjs +1 -0
  688. package/common/src/functions/pre-transaction/getKycAndSignatureData.d.ts +5 -0
  689. package/common/src/functions/pre-transaction/getKycAndSignatureData.mjs +12 -0
  690. package/common/src/functions/pre-transaction/getSignatureDataForTransact.cjs +1 -0
  691. package/common/src/functions/pre-transaction/getSignatureDataForTransact.mjs +6 -0
  692. package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -0
  693. package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +38 -0
  694. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -0
  695. package/common/src/functions/pre-transaction/getVolatileTransferAmount.d.ts +9 -0
  696. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +32 -0
  697. package/common/src/functions/pre-transaction/index.cjs +1 -0
  698. package/common/src/functions/pre-transaction/index.d.ts +23 -0
  699. package/common/src/functions/pre-transaction/index.mjs +22 -0
  700. package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.cjs +1 -0
  701. package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.mjs +3 -0
  702. package/common/src/functions/pre-transaction/interaction-to-action.cjs +1 -0
  703. package/common/src/functions/pre-transaction/interaction-to-action.mjs +1 -0
  704. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -0
  705. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +3 -0
  706. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +16 -0
  707. package/common/src/functions/pre-transaction/merge-with-fee-structure.cjs +1 -0
  708. package/common/src/functions/pre-transaction/merge-with-fee-structure.mjs +20 -0
  709. package/common/src/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -0
  710. package/common/src/functions/pre-transaction/outputApprovalDataProcessing.d.ts +10 -0
  711. package/common/src/functions/pre-transaction/outputApprovalDataProcessing.mjs +21 -0
  712. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -0
  713. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +30 -0
  714. package/common/src/functions/pre-transaction/process-gas-estimates.cjs +1 -0
  715. package/common/src/functions/pre-transaction/process-gas-estimates.mjs +25 -0
  716. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -0
  717. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +30 -0
  718. package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -0
  719. package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.mjs +3 -0
  720. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -0
  721. package/common/src/functions/pre-transaction/sendV0Transaction.d.ts +18 -0
  722. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +81 -0
  723. package/common/src/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -0
  724. package/common/src/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +6 -0
  725. package/common/src/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +11 -0
  726. package/common/src/functions/pre-transaction/solana-public-signals.d.ts +20 -0
  727. package/common/src/functions/pre-transaction/solana.cjs +1 -0
  728. package/common/src/functions/pre-transaction/solana.d.ts +18 -0
  729. package/common/src/functions/pre-transaction/solana.mjs +50 -0
  730. package/common/src/functions/pre-transaction/solanaTransfer.utils.cjs +1 -0
  731. package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +22 -0
  732. package/common/src/functions/pre-transaction/store-instructions.cjs +1 -0
  733. package/common/src/functions/pre-transaction/store-instructions.mjs +2 -0
  734. package/common/src/functions/pre-transaction/store-proof.cjs +1 -0
  735. package/common/src/functions/pre-transaction/store-proof.mjs +3 -0
  736. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -0
  737. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.d.ts +3 -0
  738. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +29 -0
  739. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -0
  740. package/common/src/functions/private-wallet/emporium.helpers.d.ts +37 -0
  741. package/common/src/functions/private-wallet/emporium.helpers.mjs +129 -0
  742. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -0
  743. package/common/src/functions/private-wallet/emporium.swap.helpers.d.ts +4 -0
  744. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +108 -0
  745. package/common/src/functions/private-wallet/index.cjs +1 -0
  746. package/common/src/functions/private-wallet/index.mjs +3 -0
  747. package/common/src/functions/private-wallet/opProducer.cjs +1 -0
  748. package/common/src/functions/private-wallet/opProducer.mjs +3 -0
  749. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -0
  750. package/common/src/functions/snarkjs/common.snarkjs.d.ts +28 -0
  751. package/common/src/functions/snarkjs/common.snarkjs.mjs +112 -0
  752. package/common/src/functions/snarkjs/constant.cjs +1 -0
  753. package/common/src/functions/snarkjs/constant.d.ts +425 -0
  754. package/common/src/functions/snarkjs/constant.mjs +430 -0
  755. package/common/src/functions/snarkjs/constructEmporiumProof.cjs +1 -0
  756. package/common/src/functions/snarkjs/constructEmporiumProof.d.ts +13 -0
  757. package/common/src/functions/snarkjs/constructEmporiumProof.mjs +74 -0
  758. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -0
  759. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +13 -0
  760. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +64 -0
  761. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -0
  762. package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +13 -0
  763. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +44 -0
  764. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -0
  765. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +11 -0
  766. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.mjs +18 -0
  767. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -0
  768. package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +4 -0
  769. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +37 -0
  770. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -0
  771. package/common/src/functions/snarkjs/generateCircomData.d.ts +5 -0
  772. package/common/src/functions/snarkjs/generateCircomData.mjs +35 -0
  773. package/common/src/functions/snarkjs/generateZkProof.cjs +1 -0
  774. package/common/src/functions/snarkjs/generateZkProof.d.ts +5 -0
  775. package/common/src/functions/snarkjs/generateZkProof.mjs +14 -0
  776. package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +1 -0
  777. package/common/src/functions/snarkjs/generateZkProofEnclave.d.ts +5 -0
  778. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +27 -0
  779. package/common/src/functions/snarkjs/generateZkProofSelf.cjs +1 -0
  780. package/common/src/functions/snarkjs/generateZkProofSelf.d.ts +5 -0
  781. package/common/src/functions/snarkjs/generateZkProofSelf.mjs +25 -0
  782. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -0
  783. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +23 -0
  784. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +131 -0
  785. package/common/src/functions/snarkjs/getOriginalSender.cjs +1 -0
  786. package/common/src/functions/snarkjs/getOriginalSender.mjs +5 -0
  787. package/common/src/functions/snarkjs/getZKFiles.cjs +1 -0
  788. package/common/src/functions/snarkjs/getZKFiles.d.ts +3 -0
  789. package/common/src/functions/snarkjs/getZKFiles.mjs +7 -0
  790. package/common/src/functions/snarkjs/index.cjs +1 -0
  791. package/common/src/functions/snarkjs/index.d.ts +7 -0
  792. package/common/src/functions/snarkjs/index.mjs +7 -0
  793. package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
  794. package/common/src/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
  795. package/common/src/functions/snarkjs/verifyCommitmentValidationData.mjs +6 -0
  796. package/common/src/functions/utils/addresses.cjs +1 -0
  797. package/common/src/functions/utils/addresses.d.ts +10 -0
  798. package/common/src/functions/utils/addresses.mjs +28 -0
  799. package/common/src/functions/utils/amounts.utils.cjs +1 -0
  800. package/common/src/functions/utils/amounts.utils.d.ts +26 -0
  801. package/common/src/functions/utils/amounts.utils.mjs +30 -0
  802. package/common/src/functions/utils/auth.utils.cjs +1 -0
  803. package/common/src/functions/utils/auth.utils.d.ts +5 -0
  804. package/common/src/functions/utils/auth.utils.mjs +7 -0
  805. package/common/src/functions/utils/buildClaimableDepositPlan.cjs +1 -0
  806. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +15 -0
  807. package/common/src/functions/utils/buildClaimableDepositPlan.mjs +3 -0
  808. package/common/src/functions/utils/bytes32.utils.cjs +1 -0
  809. package/common/src/functions/utils/bytes32.utils.mjs +9 -0
  810. package/common/src/functions/utils/cacheDevice.utils.cjs +1 -0
  811. package/common/src/functions/utils/cacheDevice.utils.d.ts +3 -0
  812. package/common/src/functions/utils/cacheDevice.utils.mjs +17 -0
  813. package/common/src/functions/utils/cacheFunctions.cjs +1 -0
  814. package/common/src/functions/utils/cacheFunctions.d.ts +20 -0
  815. package/common/src/functions/utils/cacheFunctions.mjs +39 -0
  816. package/common/src/functions/utils/caseInsensitive.utils.cjs +1 -0
  817. package/common/src/functions/utils/caseInsensitive.utils.mjs +4 -0
  818. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -0
  819. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +19 -0
  820. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -0
  821. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +4 -0
  822. package/common/src/functions/utils/create-provider.cjs +1 -0
  823. package/common/src/functions/utils/create-provider.d.ts +4 -0
  824. package/common/src/functions/utils/create-provider.mjs +11 -0
  825. package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -0
  826. package/common/src/functions/utils/deposit-claimable.utils.d.ts +6 -0
  827. package/common/src/functions/utils/deposit-claimable.utils.mjs +12 -0
  828. package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
  829. package/common/src/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
  830. package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +4 -0
  831. package/common/src/functions/utils/enclave-signature-storage.cjs +1 -0
  832. package/common/src/functions/utils/enclave-signature-storage.d.ts +2 -0
  833. package/common/src/functions/utils/enclave-signature-storage.mjs +2 -0
  834. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -0
  835. package/common/src/functions/utils/enclave-utxo-storage.d.ts +6 -0
  836. package/common/src/functions/utils/enclave-utxo-storage.mjs +4 -0
  837. package/common/src/functions/utils/encodeTokenWithId.cjs +1 -0
  838. package/common/src/functions/utils/encodeTokenWithId.mjs +8 -0
  839. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -0
  840. package/common/src/functions/utils/encryptInputForEnclave.mjs +31 -0
  841. package/common/src/functions/utils/enum.utils.cjs +1 -0
  842. package/common/src/functions/utils/enum.utils.mjs +12 -0
  843. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -0
  844. package/common/src/functions/utils/erc20tokenFunctions.d.ts +14 -0
  845. package/common/src/functions/utils/erc20tokenFunctions.mjs +14 -0
  846. package/common/src/functions/utils/evmNetworkFunctions.cjs +1 -0
  847. package/common/src/functions/utils/evmNetworkFunctions.d.ts +3 -0
  848. package/common/src/functions/utils/evmNetworkFunctions.mjs +1 -0
  849. package/common/src/functions/utils/external-action.utils.cjs +1 -0
  850. package/common/src/functions/utils/external-action.utils.mjs +6 -0
  851. package/common/src/functions/utils/fees.utils.cjs +1 -0
  852. package/common/src/functions/utils/fees.utils.d.ts +5 -0
  853. package/common/src/functions/utils/fees.utils.mjs +26 -0
  854. package/common/src/functions/utils/formatter.cjs +1 -0
  855. package/common/src/functions/utils/formatter.d.ts +1 -0
  856. package/common/src/functions/utils/formatter.mjs +1 -0
  857. package/common/src/functions/utils/get-signature-header.cjs +1 -0
  858. package/common/src/functions/utils/get-signature-header.mjs +4 -0
  859. package/common/src/functions/utils/getBlockExplorerUrl.cjs +1 -0
  860. package/common/src/functions/utils/getBlockExplorerUrl.mjs +1 -0
  861. package/common/src/functions/utils/getContractAddress.cjs +1 -0
  862. package/common/src/functions/utils/getContractAddress.d.ts +2 -0
  863. package/common/src/functions/utils/getContractAddress.mjs +8 -0
  864. package/common/src/functions/utils/getDataFromTransaction.d.ts +33 -0
  865. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -0
  866. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +15 -0
  867. package/common/src/functions/utils/getSignerFromContract.cjs +1 -0
  868. package/common/src/functions/utils/getSignerFromContract.d.ts +3 -0
  869. package/common/src/functions/utils/getSignerFromContract.mjs +13 -0
  870. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -0
  871. package/common/src/functions/utils/getUtxosFromReceipt.utils.d.ts +6 -0
  872. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +31 -0
  873. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -0
  874. package/common/src/functions/utils/getUtxosFromReceiptSolana.d.ts +7 -0
  875. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +22 -0
  876. package/common/src/functions/utils/getWalletGroupKey.utils.d.ts +1 -0
  877. package/common/src/functions/utils/inLogicMetadata.cjs +1 -0
  878. package/common/src/functions/utils/inLogicMetadata.mjs +1 -0
  879. package/common/src/functions/utils/index.cjs +1 -0
  880. package/common/src/functions/utils/index.d.ts +64 -0
  881. package/common/src/functions/utils/index.mjs +67 -0
  882. package/common/src/functions/utils/involves-permit2-op.cjs +1 -0
  883. package/common/src/functions/utils/involves-permit2-op.d.ts +7 -0
  884. package/common/src/functions/utils/involves-permit2-op.mjs +5 -0
  885. package/common/src/functions/utils/ipfs.cjs +1 -0
  886. package/common/src/functions/utils/ipfs.mjs +1 -0
  887. package/common/src/functions/utils/merkleTree.utils.cjs +1 -0
  888. package/common/src/functions/utils/merkleTree.utils.mjs +10 -0
  889. package/common/src/functions/utils/mutexes.utils.cjs +1 -0
  890. package/common/src/functions/utils/mutexes.utils.d.ts +2 -0
  891. package/common/src/functions/utils/mutexes.utils.mjs +5 -0
  892. package/common/src/functions/utils/networks.utils.cjs +1 -0
  893. package/common/src/functions/utils/networks.utils.mjs +1 -0
  894. package/common/src/functions/utils/nftTokenFunctions.cjs +1 -0
  895. package/common/src/functions/utils/nftTokenFunctions.mjs +2 -0
  896. package/common/src/functions/utils/pay-routing.utils.d.ts +4 -0
  897. package/common/src/functions/utils/postToOffscreen.cjs +1 -0
  898. package/common/src/functions/utils/postToOffscreen.mjs +9 -0
  899. package/common/src/functions/utils/prepareHinkal.cjs +1 -0
  900. package/common/src/functions/utils/prepareHinkal.d.ts +11 -0
  901. package/common/src/functions/utils/prepareHinkal.mjs +7 -0
  902. package/common/src/functions/utils/process.utils.cjs +1 -0
  903. package/common/src/functions/utils/process.utils.d.ts +13 -0
  904. package/common/src/functions/utils/process.utils.mjs +15 -0
  905. package/common/src/functions/utils/processUseApprovalUtxoData.cjs +1 -0
  906. package/common/src/functions/utils/processUseApprovalUtxoData.mjs +5 -0
  907. package/common/src/functions/utils/proxyAvatar.utils.d.ts +2 -0
  908. package/common/src/functions/utils/publicBalance.utils.cjs +1 -0
  909. package/common/src/functions/utils/publicBalance.utils.d.ts +7 -0
  910. package/common/src/functions/utils/publicBalance.utils.mjs +36 -0
  911. package/common/src/functions/utils/reloadPage.cjs +1 -0
  912. package/common/src/functions/utils/reloadPage.mjs +4 -0
  913. package/common/src/functions/utils/resolve-sync.utils.cjs +1 -0
  914. package/common/src/functions/utils/resolve-sync.utils.mjs +20 -0
  915. package/common/src/functions/utils/rpc-int-encode.cjs +1 -0
  916. package/common/src/functions/utils/rpc-int-encode.d.ts +1 -0
  917. package/common/src/functions/utils/rpc-int-encode.mjs +1 -0
  918. package/common/src/functions/utils/serialize-utxos.utils.d.ts +3 -0
  919. package/common/src/functions/utils/serialize.utils.cjs +1 -0
  920. package/common/src/functions/utils/serialize.utils.d.ts +10 -0
  921. package/common/src/functions/utils/serialize.utils.mjs +7 -0
  922. package/common/src/functions/utils/solanaMint.utils.cjs +1 -0
  923. package/common/src/functions/utils/solanaMint.utils.mjs +18 -0
  924. package/common/src/functions/utils/string.utils.cjs +1 -0
  925. package/common/src/functions/utils/string.utils.d.ts +16 -0
  926. package/common/src/functions/utils/string.utils.mjs +18 -0
  927. package/common/src/functions/utils/time.utils.cjs +1 -0
  928. package/common/src/functions/utils/time.utils.d.ts +19 -0
  929. package/common/src/functions/utils/time.utils.mjs +8 -0
  930. package/common/src/functions/utils/token-check.utils.cjs +1 -0
  931. package/common/src/functions/utils/token-check.utils.d.ts +5 -0
  932. package/common/src/functions/utils/token-check.utils.mjs +13 -0
  933. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -0
  934. package/common/src/functions/utils/transfer-claimable.utils.d.ts +9 -0
  935. package/common/src/functions/utils/transfer-claimable.utils.mjs +12 -0
  936. package/common/src/functions/utils/tron.utils.cjs +1 -0
  937. package/common/src/functions/utils/tron.utils.d.ts +33 -0
  938. package/common/src/functions/utils/tron.utils.mjs +149 -0
  939. package/common/src/functions/utils/tronSimulation.utils.cjs +1 -0
  940. package/common/src/functions/utils/tronSimulation.utils.d.ts +1 -0
  941. package/common/src/functions/utils/tronSimulation.utils.mjs +25 -0
  942. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -0
  943. package/common/src/functions/utils/tx-confirmation.utils.d.ts +10 -0
  944. package/common/src/functions/utils/tx-confirmation.utils.mjs +34 -0
  945. package/common/src/functions/utils/upToDateState.cjs +1 -0
  946. package/common/src/functions/utils/upToDateState.d.ts +2 -0
  947. package/common/src/functions/utils/upToDateState.mjs +9 -0
  948. package/common/src/functions/utils/userAgent.cjs +1 -0
  949. package/common/src/functions/utils/userAgent.d.ts +1 -0
  950. package/common/src/functions/utils/userAgent.mjs +3 -0
  951. package/common/src/functions/utils/validateUsername.d.ts +5 -0
  952. package/common/src/functions/utils/walletBalances.utils.cjs +1 -0
  953. package/common/src/functions/utils/walletBalances.utils.d.ts +2 -0
  954. package/common/src/functions/utils/walletBalances.utils.mjs +1 -0
  955. package/common/src/functions/web3/EIP-712.cjs +1 -0
  956. package/common/src/functions/web3/EIP-712.d.ts +23 -0
  957. package/common/src/functions/web3/EIP-712.mjs +1 -0
  958. package/common/src/functions/web3/connectors.utils.cjs +1 -0
  959. package/common/src/functions/web3/connectors.utils.d.ts +7 -0
  960. package/common/src/functions/web3/connectors.utils.mjs +1 -0
  961. package/common/src/functions/web3/crypto.d.ts +1 -0
  962. package/common/src/functions/web3/etherFunctions.cjs +1 -0
  963. package/common/src/functions/web3/etherFunctions.d.ts +20 -0
  964. package/common/src/functions/web3/etherFunctions.mjs +21 -0
  965. package/common/src/functions/web3/events/balanceChangedHandler.cjs +1 -0
  966. package/common/src/functions/web3/events/balanceChangedHandler.d.ts +5 -0
  967. package/common/src/functions/web3/events/balanceChangedHandler.mjs +21 -0
  968. package/common/src/functions/web3/events/getApprovedBalance.cjs +1 -0
  969. package/common/src/functions/web3/events/getApprovedBalance.d.ts +6 -0
  970. package/common/src/functions/web3/events/getApprovedBalance.mjs +37 -0
  971. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -0
  972. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +38 -0
  973. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +111 -0
  974. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -0
  975. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +8 -0
  976. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +52 -0
  977. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -0
  978. package/common/src/functions/web3/events/getShieldedBalance.d.ts +18 -0
  979. package/common/src/functions/web3/events/getShieldedBalance.mjs +98 -0
  980. package/common/src/functions/web3/events/getTransactionLogEvents.cjs +1 -0
  981. package/common/src/functions/web3/events/getTransactionLogEvents.d.ts +13 -0
  982. package/common/src/functions/web3/events/getTransactionLogEvents.mjs +2 -0
  983. package/common/src/functions/web3/events/index.cjs +1 -0
  984. package/common/src/functions/web3/events/index.d.ts +5 -0
  985. package/common/src/functions/web3/events/index.mjs +5 -0
  986. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -0
  987. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +3 -0
  988. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -0
  989. package/common/src/functions/web3/functionCalls/accessTokenCalls.cjs +1 -0
  990. package/common/src/functions/web3/functionCalls/accessTokenCalls.d.ts +2 -0
  991. package/common/src/functions/web3/functionCalls/accessTokenCalls.mjs +19 -0
  992. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -0
  993. package/common/src/functions/web3/functionCalls/approveToken.d.ts +4 -0
  994. package/common/src/functions/web3/functionCalls/approveToken.mjs +113 -0
  995. package/common/src/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -0
  996. package/common/src/functions/web3/functionCalls/approveTokensToHinkal.d.ts +4 -0
  997. package/common/src/functions/web3/functionCalls/approveTokensToHinkal.mjs +11 -0
  998. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -0
  999. package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +6 -0
  1000. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +51 -0
  1001. package/common/src/functions/web3/functionCalls/estimateGasRelayer.d.ts +4 -0
  1002. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -0
  1003. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.d.ts +2 -0
  1004. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +18 -0
  1005. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -0
  1006. package/common/src/functions/web3/functionCalls/transactCallDirect.d.ts +6 -0
  1007. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +60 -0
  1008. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -0
  1009. package/common/src/functions/web3/functionCalls/transactCallDirectTron.d.ts +9 -0
  1010. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +81 -0
  1011. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -0
  1012. package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +37 -0
  1013. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +63 -0
  1014. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -0
  1015. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.d.ts +11 -0
  1016. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +41 -0
  1017. package/common/src/functions/web3/getContractMetadata.cjs +1 -0
  1018. package/common/src/functions/web3/getContractMetadata.d.ts +5 -0
  1019. package/common/src/functions/web3/getContractMetadata.mjs +23 -0
  1020. package/common/src/functions/web3/getPublicAddressBalance.cjs +1 -0
  1021. package/common/src/functions/web3/getPublicAddressBalance.d.ts +2 -0
  1022. package/common/src/functions/web3/getPublicAddressBalance.mjs +10 -0
  1023. package/common/src/functions/web3/getSolanaPriorityFee.cjs +1 -0
  1024. package/common/src/functions/web3/getSolanaPriorityFee.d.ts +3 -0
  1025. package/common/src/functions/web3/getSolanaPriorityFee.mjs +26 -0
  1026. package/common/src/functions/web3/getTokenHolder.cjs +1 -0
  1027. package/common/src/functions/web3/getTokenHolder.mjs +7 -0
  1028. package/common/src/functions/web3/index.cjs +1 -0
  1029. package/common/src/functions/web3/index.d.ts +14 -0
  1030. package/common/src/functions/web3/index.mjs +17 -0
  1031. package/common/src/functions/web3/lifiAPI.cjs +1 -0
  1032. package/common/src/functions/web3/lifiAPI.d.ts +6 -0
  1033. package/common/src/functions/web3/lifiAPI.mjs +29 -0
  1034. package/common/src/functions/web3/odosAPI.cjs +1 -0
  1035. package/common/src/functions/web3/odosAPI.mjs +35 -0
  1036. package/common/src/functions/web3/okxAPI.cjs +1 -0
  1037. package/common/src/functions/web3/okxAPI.mjs +33 -0
  1038. package/common/src/functions/web3/oneInchAPI.cjs +1 -0
  1039. package/common/src/functions/web3/oneInchAPI.mjs +34 -0
  1040. package/common/src/functions/web3/runContractFunction.cjs +1 -0
  1041. package/common/src/functions/web3/runContractFunction.d.ts +16 -0
  1042. package/common/src/functions/web3/runContractFunction.mjs +1 -0
  1043. package/common/src/functions/web3/signAndSendSerializedTransaction.cjs +1 -0
  1044. package/common/src/functions/web3/signAndSendSerializedTransaction.mjs +14 -0
  1045. package/common/src/functions/web3/uniswapAPI.cjs +1 -0
  1046. package/common/src/functions/web3/uniswapAPI.d.ts +16 -0
  1047. package/common/src/functions/web3/uniswapAPI.mjs +60 -0
  1048. package/common/src/index.d.ts +9 -0
  1049. package/common/src/mutexes/mutex.cjs +1 -0
  1050. package/common/src/mutexes/mutex.mjs +3 -0
  1051. package/common/src/providers/EthersProviderAdapter.cjs +1 -0
  1052. package/common/src/providers/EthersProviderAdapter.d.ts +36 -0
  1053. package/common/src/providers/EthersProviderAdapter.mjs +101 -0
  1054. package/common/src/providers/SolanaProviderAdapter.cjs +1 -0
  1055. package/common/src/providers/SolanaProviderAdapter.d.ts +52 -0
  1056. package/common/src/providers/SolanaProviderAdapter.mjs +147 -0
  1057. package/common/src/providers/TronProviderAdapter.cjs +1 -0
  1058. package/common/src/providers/TronProviderAdapter.d.ts +39 -0
  1059. package/common/src/providers/TronProviderAdapter.mjs +97 -0
  1060. package/common/src/providers/WagmiProviderAdapter.cjs +1 -0
  1061. package/common/src/providers/WagmiProviderAdapter.d.ts +46 -0
  1062. package/common/src/providers/WagmiProviderAdapter.mjs +189 -0
  1063. package/common/src/types/IMultiThreadedUtxoUtils.d.ts +8 -0
  1064. package/common/src/types/TransactionSimulator.types.d.ts +16 -0
  1065. package/common/src/types/activities.types.cjs +1 -0
  1066. package/common/src/types/activities.types.d.ts +77 -0
  1067. package/common/src/types/activities.types.mjs +10 -0
  1068. package/common/src/types/admin.types.cjs +1 -0
  1069. package/common/src/types/admin.types.d.ts +49 -0
  1070. package/common/src/types/admin.types.mjs +6 -0
  1071. package/common/src/types/balances.types.cjs +1 -0
  1072. package/common/src/types/balances.types.d.ts +17 -0
  1073. package/common/src/types/balances.types.mjs +6 -0
  1074. package/common/src/types/big-intable.types.d.ts +3 -0
  1075. package/common/src/types/bridging-tx.types.d.ts +17 -0
  1076. package/common/src/types/cache.types.cjs +1 -0
  1077. package/common/src/types/cache.types.d.ts +57 -0
  1078. package/common/src/types/cache.types.mjs +6 -0
  1079. package/common/src/types/chains.types.cjs +1 -0
  1080. package/common/src/types/chains.types.d.ts +10 -0
  1081. package/common/src/types/chains.types.mjs +8 -0
  1082. package/common/src/types/circom-data.types.cjs +1 -0
  1083. package/common/src/types/circom-data.types.d.ts +107 -0
  1084. package/common/src/types/circom-data.types.mjs +10 -0
  1085. package/common/src/types/coingecko.types.d.ts +220 -0
  1086. package/common/src/types/commitments.types.d.ts +48 -0
  1087. package/common/src/types/connector.types.d.ts +5 -0
  1088. package/common/src/types/contacts.types.d.ts +7 -0
  1089. package/common/src/types/dashboard-account.d.ts +101 -0
  1090. package/common/src/types/dashboard-payout.types.d.ts +29 -0
  1091. package/common/src/types/dashboard-transaction.types.d.ts +22 -0
  1092. package/common/src/types/eip5792.types.cjs +1 -0
  1093. package/common/src/types/eip5792.types.d.ts +33 -0
  1094. package/common/src/types/eip5792.types.mjs +6 -0
  1095. package/common/src/types/ethereum-network.types.cjs +1 -0
  1096. package/common/src/types/ethereum-network.types.d.ts +65 -0
  1097. package/common/src/types/ethereum-network.types.mjs +6 -0
  1098. package/common/src/types/events.types.cjs +1 -0
  1099. package/common/src/types/events.types.d.ts +6 -0
  1100. package/common/src/types/events.types.mjs +6 -0
  1101. package/common/src/types/external-action.types.cjs +1 -0
  1102. package/common/src/types/external-action.types.d.ts +17 -0
  1103. package/common/src/types/external-action.types.mjs +6 -0
  1104. package/common/src/types/fee.types.cjs +1 -0
  1105. package/common/src/types/fee.types.d.ts +13 -0
  1106. package/common/src/types/fee.types.mjs +6 -0
  1107. package/common/src/types/hinkal.types.cjs +1 -0
  1108. package/common/src/types/hinkal.types.d.ts +113 -0
  1109. package/common/src/types/hinkal.types.mjs +29 -0
  1110. package/common/src/types/index.cjs +1 -0
  1111. package/common/src/types/index.d.ts +60 -0
  1112. package/common/src/types/index.mjs +19 -0
  1113. package/common/src/types/kyc.types.cjs +1 -0
  1114. package/common/src/types/kyc.types.d.ts +41 -0
  1115. package/common/src/types/kyc.types.mjs +10 -0
  1116. package/common/src/types/new-rewards.type.cjs +1 -0
  1117. package/common/src/types/new-rewards.type.d.ts +153 -0
  1118. package/common/src/types/new-rewards.type.mjs +10 -0
  1119. package/common/src/types/offscreen.types.cjs +1 -0
  1120. package/common/src/types/offscreen.types.mjs +6 -0
  1121. package/common/src/types/onramp.types.d.ts +58 -0
  1122. package/common/src/types/pay-activities.types.d.ts +32 -0
  1123. package/common/src/types/pay-routing.types.d.ts +9 -0
  1124. package/common/src/types/proxy.types.d.ts +19 -0
  1125. package/common/src/types/rewards.types.d.ts +34 -0
  1126. package/common/src/types/schedule.types.cjs +1 -0
  1127. package/common/src/types/schedule.types.d.ts +7 -0
  1128. package/common/src/types/schedule.types.mjs +6 -0
  1129. package/common/src/types/scheduled-transactions.types.cjs +1 -0
  1130. package/common/src/types/scheduled-transactions.types.d.ts +42 -0
  1131. package/common/src/types/scheduled-transactions.types.mjs +6 -0
  1132. package/common/src/types/session.types.d.ts +13 -0
  1133. package/common/src/types/solana.types.d.ts +91 -0
  1134. package/common/src/types/token-prices.types.d.ts +18 -0
  1135. package/common/src/types/token.types.cjs +1 -0
  1136. package/common/src/types/token.types.d.ts +88 -0
  1137. package/common/src/types/token.types.mjs +6 -0
  1138. package/common/src/types/transaction.types.cjs +1 -0
  1139. package/common/src/types/transaction.types.d.ts +162 -0
  1140. package/common/src/types/transaction.types.mjs +6 -0
  1141. package/common/src/types/transactions.types.cjs +1 -0
  1142. package/common/src/types/transactions.types.d.ts +79 -0
  1143. package/common/src/types/transactions.types.mjs +8 -0
  1144. package/common/src/types/tron.types.d.ts +15 -0
  1145. package/common/src/webworker/WorkerWrapper.cjs +1 -0
  1146. package/common/src/webworker/WorkerWrapper.d.ts +9 -0
  1147. package/common/src/webworker/WorkerWrapper.mjs +22 -0
  1148. package/common/src/webworker/logError-2qFYAoPQ.js +9 -0
  1149. package/common/src/webworker/package.json +120 -0
  1150. package/common/src/webworker/performTaskWithWorker.cjs +1 -0
  1151. package/common/src/webworker/performTaskWithWorker.mjs +39 -0
  1152. package/common/src/webworker/snarkjsWorker/snarkjsWorker.types.cjs +1 -0
  1153. package/common/src/webworker/snarkjsWorker/snarkjsWorker.types.mjs +6 -0
  1154. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -0
  1155. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +4 -0
  1156. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +1 -0
  1157. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +2 -0
  1158. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +29 -0
  1159. package/common/src/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
  1160. package/common/src/webworker/snarkjsWorkerNode.cjs +11 -0
  1161. package/common/src/webworker/utxoWorker/utxoWorker.types.cjs +1 -0
  1162. package/common/src/webworker/utxoWorker/utxoWorker.types.mjs +6 -0
  1163. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -0
  1164. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +4 -0
  1165. package/common/src/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -0
  1166. package/common/src/webworker/utxoWorker/utxoWorkerLogic.d.ts +5 -0
  1167. package/common/src/webworker/utxoWorker/utxoWorkerLogic.mjs +68 -0
  1168. package/common/src/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
  1169. package/common/src/webworker/utxoWorkerNode.cjs +1 -0
  1170. package/common/src/webworker/viteWorkerURL.constant.cjs +1 -0
  1171. package/common/src/webworker/viteWorkerURL.constant.mjs +12 -0
  1172. package/common/src/webworker/worker.registry.cjs +1 -0
  1173. package/common/src/webworker/worker.registry.mjs +10 -0
  1174. package/common/src/webworker/workerFactory.cjs +1 -0
  1175. package/common/src/webworker/workerFactory.d.ts +11 -0
  1176. package/common/src/webworker/workerFactory.mjs +50 -0
  1177. package/common/src/webworker/workerProxy-s9Tp9uSs.js +122 -0
  1178. package/common/src/webworker/workerProxy.cjs +1 -0
  1179. package/common/src/webworker/workerProxy.d.ts +40 -0
  1180. package/common/src/webworker/workerProxy.mjs +47 -0
  1181. package/common/src/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -0
  1182. package/common/src/webworker/zkProofWorker/zkProofWorker.types.d.ts +36 -0
  1183. package/common/src/webworker/zkProofWorker/zkProofWorker.types.mjs +6 -0
  1184. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.d.ts +1 -0
  1185. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -0
  1186. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +4 -0
  1187. package/common/src/webworker/zkProofWorker/zkProofWorkerLogic.cjs +1 -0
  1188. package/common/src/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +5 -0
  1189. package/common/src/webworker/zkProofWorker/zkProofWorkerLogic.mjs +44 -0
  1190. package/common/src/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
  1191. package/common/src/webworker/zkProofWorkerNode.cjs +1 -0
  1192. package/functions/index.cjs +1 -0
  1193. package/functions/index.d.ts +1 -13
  1194. package/functions/index.mjs +11 -0
  1195. package/functions/integrations/index.cjs +1 -0
  1196. package/functions/integrations/index.d.ts +1 -0
  1197. package/functions/integrations/index.mjs +5 -0
  1198. package/functions/integrations/swapApi.cjs +1 -0
  1199. package/functions/integrations/swapApi.d.ts +9 -0
  1200. package/functions/integrations/swapApi.mjs +12 -0
  1201. package/functions/utils/getErc20Token.cjs +1 -0
  1202. package/functions/utils/getErc20Token.d.ts +2 -0
  1203. package/functions/utils/getErc20Token.mjs +11 -0
  1204. package/functions/utils/getFeeStructure.cjs +1 -0
  1205. package/functions/utils/getFeeStructure.d.ts +1 -0
  1206. package/functions/utils/getFeeStructure.mjs +1 -0
  1207. package/functions/utils/index.cjs +1 -0
  1208. package/functions/utils/index.d.ts +4 -47
  1209. package/functions/utils/index.mjs +6 -0
  1210. package/functions/utils/preProcessing.cjs +1 -0
  1211. package/functions/utils/preProcessing.d.ts +1 -0
  1212. package/functions/utils/preProcessing.mjs +1 -0
  1213. package/functions/utils/refreshBalance.cjs +1 -0
  1214. package/functions/utils/refreshBalance.d.ts +2 -0
  1215. package/functions/utils/refreshBalance.mjs +7 -0
  1216. package/index.cjs +1 -1
  1217. package/index.d.ts +1 -7
  1218. package/index.mjs +16 -955
  1219. package/package.json +47 -21
  1220. package/providers/EthersProviderAdapter.cjs +1 -1
  1221. package/providers/EthersProviderAdapter.d.ts +3 -42
  1222. package/providers/EthersProviderAdapter.mjs +5 -146
  1223. package/providers/SolanaProviderAdapter.cjs +1 -1
  1224. package/providers/SolanaProviderAdapter.d.ts +2 -44
  1225. package/providers/SolanaProviderAdapter.mjs +5 -125
  1226. package/providers/TronProviderAdapter.cjs +1 -0
  1227. package/providers/TronProviderAdapter.d.ts +2 -0
  1228. package/providers/TronProviderAdapter.mjs +5 -0
  1229. package/providers/WagmiProviderAdapter.cjs +1 -1
  1230. package/providers/WagmiProviderAdapter.d.ts +3 -47
  1231. package/providers/WagmiProviderAdapter.mjs +5 -205
  1232. package/providers/prepareEthersHinkal.cjs +1 -1
  1233. package/providers/prepareEthersHinkal.d.ts +3 -3
  1234. package/providers/prepareEthersHinkal.mjs +11 -50
  1235. package/providers/prepareSolanaHinkal.cjs +1 -0
  1236. package/providers/prepareSolanaHinkal.d.ts +4 -0
  1237. package/providers/prepareSolanaHinkal.mjs +13 -0
  1238. package/providers/prepareTronHinkal.cjs +1 -0
  1239. package/providers/prepareTronHinkal.d.ts +4 -0
  1240. package/providers/prepareTronHinkal.mjs +13 -0
  1241. package/providers/prepareWagmiHinkal.cjs +1 -1
  1242. package/providers/prepareWagmiHinkal.d.ts +2 -2
  1243. package/providers/prepareWagmiHinkal.mjs +11 -50
  1244. package/services/Hinkal.cjs +1 -0
  1245. package/services/Hinkal.d.ts +52 -0
  1246. package/services/Hinkal.mjs +142 -0
  1247. package/services/index.cjs +1 -0
  1248. package/services/index.d.ts +1 -0
  1249. package/services/index.mjs +1 -0
  1250. package/types/IHinkal.d.ts +50 -0
  1251. package/types/IProviderAdapter.d.ts +1 -0
  1252. package/types/balances.types.cjs +1 -1
  1253. package/types/balances.types.d.ts +4 -17
  1254. package/types/balances.types.mjs +2 -4
  1255. package/types/external-action.types.cjs +1 -1
  1256. package/types/external-action.types.d.ts +1 -17
  1257. package/types/external-action.types.mjs +2 -4
  1258. package/types/fee.types.d.ts +1 -9
  1259. package/types/index.cjs +1 -0
  1260. package/types/index.d.ts +4 -49
  1261. package/types/index.mjs +4 -0
  1262. package/types/privateTypes.d.ts +5 -0
  1263. package/types/token.types.d.ts +1 -83
  1264. package/API/API.cjs +0 -1
  1265. package/API/API.d.ts +0 -88
  1266. package/API/API.mjs +0 -115
  1267. package/API/accessCodeCalls.cjs +0 -1
  1268. package/API/accessCodeCalls.mjs +0 -23
  1269. package/API/admin-calls.cjs +0 -1
  1270. package/API/admin-calls.d.ts +0 -2
  1271. package/API/admin-calls.mjs +0 -8
  1272. package/API/ai-calls.cjs +0 -1
  1273. package/API/ai-calls.d.ts +0 -17
  1274. package/API/ai-calls.mjs +0 -21
  1275. package/API/brotherhoodCalls.cjs +0 -1
  1276. package/API/brotherhoodCalls.mjs +0 -59
  1277. package/API/callLifiAPI.cjs +0 -1
  1278. package/API/callLifiAPI.d.ts +0 -33
  1279. package/API/callLifiAPI.mjs +0 -11
  1280. package/API/callMonitor.cjs +0 -1
  1281. package/API/callMonitor.d.ts +0 -1
  1282. package/API/callMonitor.mjs +0 -10
  1283. package/API/callOdosAPI.cjs +0 -1
  1284. package/API/callOdosAPI.mjs +0 -23
  1285. package/API/callOkxAPI.cjs +0 -1
  1286. package/API/callOkxAPI.d.ts +0 -10
  1287. package/API/callOkxAPI.mjs +0 -13
  1288. package/API/callOneInchAPI.cjs +0 -1
  1289. package/API/callOneInchAPI.mjs +0 -16
  1290. package/API/callRelayer.cjs +0 -1
  1291. package/API/callRelayer.d.ts +0 -26
  1292. package/API/callRelayer.mjs +0 -18
  1293. package/API/checkRisk.cjs +0 -1
  1294. package/API/checkRisk.d.ts +0 -1
  1295. package/API/checkRisk.mjs +0 -8
  1296. package/API/duneAPI.cjs +0 -1
  1297. package/API/duneAPI.d.ts +0 -11
  1298. package/API/duneAPI.mjs +0 -25
  1299. package/API/enclaveCalls.cjs +0 -1
  1300. package/API/enclaveCalls.d.ts +0 -9
  1301. package/API/enclaveCalls.mjs +0 -11
  1302. package/API/fetchCommitmentsCache.cjs +0 -1
  1303. package/API/fetchCommitmentsCache.d.ts +0 -36
  1304. package/API/fetchCommitmentsCache.mjs +0 -23
  1305. package/API/generate-trading-points.cjs +0 -1
  1306. package/API/generate-trading-points.mjs +0 -45
  1307. package/API/get-token-data.cjs +0 -1
  1308. package/API/get-token-data.d.ts +0 -6
  1309. package/API/get-token-data.mjs +0 -8
  1310. package/API/getBridgeProtocols.cjs +0 -1
  1311. package/API/getBridgeProtocols.d.ts +0 -7
  1312. package/API/getBridgeProtocols.mjs +0 -8
  1313. package/API/getCoingeckoPrice.cjs +0 -1
  1314. package/API/getCoingeckoPrice.d.ts +0 -22
  1315. package/API/getCoingeckoPrice.mjs +0 -27
  1316. package/API/getGasEstimates.cjs +0 -1
  1317. package/API/getGasEstimates.mjs +0 -16
  1318. package/API/getLifiStatus.cjs +0 -1
  1319. package/API/getLifiStatus.d.ts +0 -24
  1320. package/API/getLifiStatus.mjs +0 -15
  1321. package/API/getRelayerURL.cjs +0 -1
  1322. package/API/getRelayerURL.d.ts +0 -1
  1323. package/API/getRelayerURL.mjs +0 -10
  1324. package/API/getServerURL.cjs +0 -1
  1325. package/API/getServerURL.d.ts +0 -4
  1326. package/API/getServerURL.mjs +0 -76
  1327. package/API/getTokenPrice.cjs +0 -1
  1328. package/API/getTokenPrice.d.ts +0 -5
  1329. package/API/getTokenPrice.mjs +0 -10
  1330. package/API/getWebsiteURL.cjs +0 -1
  1331. package/API/getWebsiteURL.d.ts +0 -3
  1332. package/API/getWebsiteURL.mjs +0 -56
  1333. package/API/index.d.ts +0 -20
  1334. package/API/is-tx-stateless.cjs +0 -1
  1335. package/API/is-tx-stateless.d.ts +0 -5
  1336. package/API/is-tx-stateless.mjs +0 -20
  1337. package/API/kycCalls.cjs +0 -1
  1338. package/API/kycCalls.d.ts +0 -23
  1339. package/API/kycCalls.mjs +0 -42
  1340. package/API/leaderboardCalls.cjs +0 -1
  1341. package/API/leaderboardCalls.mjs +0 -16
  1342. package/API/passwordCalls.cjs +0 -1
  1343. package/API/passwordCalls.d.ts +0 -9
  1344. package/API/passwordCalls.mjs +0 -13
  1345. package/API/proxyAccountsCalls.cjs +0 -1
  1346. package/API/proxyAccountsCalls.d.ts +0 -4
  1347. package/API/proxyAccountsCalls.mjs +0 -26
  1348. package/API/referralsCalls.cjs +0 -1
  1349. package/API/referralsCalls.mjs +0 -22
  1350. package/API/relayCalls.cjs +0 -1
  1351. package/API/relayCalls.mjs +0 -10
  1352. package/API/resolve-sns.cjs +0 -1
  1353. package/API/resolve-sns.mjs +0 -12
  1354. package/API/restoreSnapshots.cjs +0 -1
  1355. package/API/restoreSnapshots.d.ts +0 -1
  1356. package/API/restoreSnapshots.mjs +0 -10
  1357. package/API/rewardsUserCalls.cjs +0 -1
  1358. package/API/rewardsUserCalls.d.ts +0 -51
  1359. package/API/rewardsUserCalls.mjs +0 -44
  1360. package/API/seedless-calls.cjs +0 -1
  1361. package/API/seedless-calls.mjs +0 -12
  1362. package/API/send-telegram-callback.cjs +0 -1
  1363. package/API/send-telegram-callback.mjs +0 -11
  1364. package/API/simulate-batch-tx.cjs +0 -1
  1365. package/API/simulate-batch-tx.d.ts +0 -3
  1366. package/API/simulate-batch-tx.mjs +0 -13
  1367. package/API/solana-calls.cjs +0 -1
  1368. package/API/solana-calls.d.ts +0 -34
  1369. package/API/solana-calls.mjs +0 -19
  1370. package/API/tenderly.api.cjs +0 -1
  1371. package/API/tenderly.api.d.ts +0 -14
  1372. package/API/tenderly.api.mjs +0 -57
  1373. package/API/token-calls.cjs +0 -1
  1374. package/API/token-calls.mjs +0 -14
  1375. package/API/weeklyAnalyticCalls.cjs +0 -1
  1376. package/API/weeklyAnalyticCalls.mjs +0 -16
  1377. package/README.md +0 -164
  1378. package/_virtual/_commonjsHelpers.cjs +0 -1
  1379. package/_virtual/_commonjsHelpers.mjs +0 -30
  1380. package/_virtual/bn.cjs +0 -1
  1381. package/_virtual/bn.mjs +0 -4
  1382. package/_virtual/bn2.cjs +0 -1
  1383. package/_virtual/bn2.mjs +0 -4
  1384. package/_virtual/common.cjs +0 -1
  1385. package/_virtual/common.mjs +0 -4
  1386. package/_virtual/common2.cjs +0 -1
  1387. package/_virtual/common2.mjs +0 -4
  1388. package/_virtual/hash.cjs +0 -1
  1389. package/_virtual/hash.mjs +0 -4
  1390. package/_virtual/index.cjs +0 -1
  1391. package/_virtual/index.mjs +0 -6
  1392. package/_virtual/index10.cjs +0 -1
  1393. package/_virtual/index10.mjs +0 -6
  1394. package/_virtual/index11.cjs +0 -1
  1395. package/_virtual/index11.mjs +0 -6
  1396. package/_virtual/index12.cjs +0 -1
  1397. package/_virtual/index12.mjs +0 -6
  1398. package/_virtual/index13.cjs +0 -1
  1399. package/_virtual/index13.mjs +0 -6
  1400. package/_virtual/index14.cjs +0 -1
  1401. package/_virtual/index14.mjs +0 -6
  1402. package/_virtual/index15.cjs +0 -1
  1403. package/_virtual/index15.mjs +0 -6
  1404. package/_virtual/index16.cjs +0 -1
  1405. package/_virtual/index16.mjs +0 -6
  1406. package/_virtual/index17.cjs +0 -1
  1407. package/_virtual/index17.mjs +0 -6
  1408. package/_virtual/index18.cjs +0 -1
  1409. package/_virtual/index18.mjs +0 -6
  1410. package/_virtual/index19.cjs +0 -1
  1411. package/_virtual/index19.mjs +0 -6
  1412. package/_virtual/index2.cjs +0 -1
  1413. package/_virtual/index2.mjs +0 -6
  1414. package/_virtual/index20.cjs +0 -1
  1415. package/_virtual/index20.mjs +0 -6
  1416. package/_virtual/index21.cjs +0 -1
  1417. package/_virtual/index21.mjs +0 -6
  1418. package/_virtual/index22.cjs +0 -1
  1419. package/_virtual/index22.mjs +0 -4
  1420. package/_virtual/index3.cjs +0 -1
  1421. package/_virtual/index3.mjs +0 -6
  1422. package/_virtual/index4.cjs +0 -1
  1423. package/_virtual/index4.mjs +0 -6
  1424. package/_virtual/index5.cjs +0 -1
  1425. package/_virtual/index5.mjs +0 -6
  1426. package/_virtual/index6.cjs +0 -1
  1427. package/_virtual/index6.mjs +0 -6
  1428. package/_virtual/index7.cjs +0 -1
  1429. package/_virtual/index7.mjs +0 -6
  1430. package/_virtual/index8.cjs +0 -1
  1431. package/_virtual/index8.mjs +0 -6
  1432. package/_virtual/index9.cjs +0 -1
  1433. package/_virtual/index9.mjs +0 -6
  1434. package/_virtual/inherits_browser.cjs +0 -1
  1435. package/_virtual/inherits_browser.mjs +0 -4
  1436. package/_virtual/ripemd.cjs +0 -1
  1437. package/_virtual/ripemd.mjs +0 -4
  1438. package/_virtual/scrypt.cjs +0 -1
  1439. package/_virtual/scrypt.mjs +0 -4
  1440. package/_virtual/sha.cjs +0 -1
  1441. package/_virtual/sha.mjs +0 -4
  1442. package/_virtual/sha3.cjs +0 -1
  1443. package/_virtual/sha3.mjs +0 -4
  1444. package/_virtual/utils.cjs +0 -1
  1445. package/_virtual/utils.mjs +0 -4
  1446. package/_virtual/utils2.cjs +0 -1
  1447. package/_virtual/utils2.mjs +0 -4
  1448. package/constants/activity.constants.cjs +0 -1
  1449. package/constants/activity.constants.mjs +0 -14
  1450. package/constants/addresses.constants.cjs +0 -1
  1451. package/constants/addresses.constants.d.ts +0 -25
  1452. package/constants/addresses.constants.mjs +0 -80
  1453. package/constants/assets.constants.cjs +0 -1
  1454. package/constants/assets.constants.mjs +0 -16
  1455. package/constants/backend.constants.cjs +0 -1
  1456. package/constants/backend.constants.d.ts +0 -13
  1457. package/constants/backend.constants.mjs +0 -16
  1458. package/constants/balance.constants.cjs +0 -1
  1459. package/constants/balance.constants.mjs +0 -4
  1460. package/constants/bridging.constants.cjs +0 -1
  1461. package/constants/bridging.constants.d.ts +0 -5
  1462. package/constants/bridging.constants.mjs +0 -8
  1463. package/constants/chains.constants.cjs +0 -1
  1464. package/constants/chains.constants.d.ts +0 -41
  1465. package/constants/chains.constants.mjs +0 -192
  1466. package/constants/coingecko.constants.cjs +0 -1
  1467. package/constants/coingecko.constants.d.ts +0 -16
  1468. package/constants/coingecko.constants.mjs +0 -59
  1469. package/constants/contracts.constants.cjs +0 -1
  1470. package/constants/contracts.constants.d.ts +0 -119
  1471. package/constants/contracts.constants.mjs +0 -99
  1472. package/constants/conversion.constants.cjs +0 -1
  1473. package/constants/conversion.constants.mjs +0 -4
  1474. package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +0 -1
  1475. package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +0 -6912
  1476. package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +0 -1
  1477. package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +0 -7381
  1478. package/constants/deploy-data/deploy-data-avalanche.json.cjs +0 -1
  1479. package/constants/deploy-data/deploy-data-avalanche.json.mjs +0 -5940
  1480. package/constants/deploy-data/deploy-data-base.json.cjs +0 -1
  1481. package/constants/deploy-data/deploy-data-base.json.mjs +0 -6922
  1482. package/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +0 -1
  1483. package/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +0 -5940
  1484. package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +0 -1
  1485. package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +0 -7152
  1486. package/constants/deploy-data/deploy-data-localhost.json.cjs +0 -1
  1487. package/constants/deploy-data/deploy-data-localhost.json.mjs +0 -5940
  1488. package/constants/deploy-data/deploy-data-optimism.json.cjs +0 -1
  1489. package/constants/deploy-data/deploy-data-optimism.json.mjs +0 -6922
  1490. package/constants/deploy-data/deploy-data-polygon.json.cjs +0 -1
  1491. package/constants/deploy-data/deploy-data-polygon.json.mjs +0 -6922
  1492. package/constants/deploy-data/deploy-data-solana.json.cjs +0 -1
  1493. package/constants/deploy-data/deploy-data-solana.json.mjs +0 -6111
  1494. package/constants/deploy-data/index.d.ts +0 -11
  1495. package/constants/events.constants.cjs +0 -1
  1496. package/constants/events.constants.mjs +0 -12
  1497. package/constants/fees.constants.cjs +0 -1
  1498. package/constants/fees.constants.d.ts +0 -2
  1499. package/constants/fees.constants.mjs +0 -6
  1500. package/constants/function-signatures.constants.cjs +0 -1
  1501. package/constants/function-signatures.constants.d.ts +0 -5
  1502. package/constants/function-signatures.constants.mjs +0 -8
  1503. package/constants/index.d.ts +0 -30
  1504. package/constants/kyc.constants.cjs +0 -1
  1505. package/constants/kyc.constants.d.ts +0 -28
  1506. package/constants/kyc.constants.mjs +0 -179
  1507. package/constants/lifi.constants.cjs +0 -1
  1508. package/constants/lifi.constants.mjs +0 -4
  1509. package/constants/mediaUrls.constants.cjs +0 -1
  1510. package/constants/mediaUrls.constants.d.ts +0 -33
  1511. package/constants/mediaUrls.constants.mjs +0 -36
  1512. package/constants/oauthUrls.constants.cjs +0 -1
  1513. package/constants/oauthUrls.constants.d.ts +0 -7
  1514. package/constants/oauthUrls.constants.mjs +0 -10
  1515. package/constants/okx.constants.cjs +0 -1
  1516. package/constants/okx.constants.mjs +0 -5
  1517. package/constants/permit2.constants.cjs +0 -1
  1518. package/constants/permit2.constants.d.ts +0 -8
  1519. package/constants/permit2.constants.mjs +0 -17
  1520. package/constants/presale.constants.cjs +0 -1
  1521. package/constants/presale.constants.d.ts +0 -78
  1522. package/constants/presale.constants.mjs +0 -504
  1523. package/constants/protocol.constants.cjs +0 -1
  1524. package/constants/protocol.constants.d.ts +0 -47
  1525. package/constants/protocol.constants.mjs +0 -47
  1526. package/constants/reorg-depths.constants.cjs +0 -1
  1527. package/constants/reorg-depths.constants.d.ts +0 -3
  1528. package/constants/reorg-depths.constants.mjs +0 -17
  1529. package/constants/rewards.constants.cjs +0 -1
  1530. package/constants/rewards.constants.mjs +0 -22
  1531. package/constants/save-depths.cjs +0 -1
  1532. package/constants/save-depths.d.ts +0 -3
  1533. package/constants/save-depths.mjs +0 -19
  1534. package/constants/server.constants.cjs +0 -1
  1535. package/constants/server.constants.d.ts +0 -199
  1536. package/constants/server.constants.mjs +0 -224
  1537. package/constants/tasks.constants.cjs +0 -1
  1538. package/constants/tasks.constants.mjs +0 -230
  1539. package/constants/token-data/ERC20Registry.cjs +0 -1
  1540. package/constants/token-data/ERC20Registry.mjs +0 -95
  1541. package/constants/token-data/arbMainnetRegistry.json.cjs +0 -1
  1542. package/constants/token-data/arbMainnetRegistry.json.mjs +0 -1845
  1543. package/constants/token-data/arbMainnetRegistryFixed.json.cjs +0 -1
  1544. package/constants/token-data/arbMainnetRegistryFixed.json.mjs +0 -1845
  1545. package/constants/token-data/arcTestnetRegistry.json.cjs +0 -1
  1546. package/constants/token-data/arcTestnetRegistry.json.mjs +0 -439
  1547. package/constants/token-data/avalancheRegistry.json.cjs +0 -1
  1548. package/constants/token-data/avalancheRegistry.json.mjs +0 -733
  1549. package/constants/token-data/avalancheRegistryFixed.json.cjs +0 -1
  1550. package/constants/token-data/avalancheRegistryFixed.json.mjs +0 -733
  1551. package/constants/token-data/baseRegistry.json.cjs +0 -1
  1552. package/constants/token-data/baseRegistry.json.mjs +0 -1138
  1553. package/constants/token-data/baseRegistryFixed.json.cjs +0 -1
  1554. package/constants/token-data/baseRegistryFixed.json.mjs +0 -1138
  1555. package/constants/token-data/bnbMainnetRegistry.json.cjs +0 -1
  1556. package/constants/token-data/bnbMainnetRegistry.json.mjs +0 -904
  1557. package/constants/token-data/bnbMainnetRegistryFixed.json.cjs +0 -1
  1558. package/constants/token-data/bnbMainnetRegistryFixed.json.mjs +0 -904
  1559. package/constants/token-data/ethMainnetRegistry.json.cjs +0 -1
  1560. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -4302
  1561. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +0 -1
  1562. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -4302
  1563. package/constants/token-data/index.cjs +0 -1
  1564. package/constants/token-data/index.d.ts +0 -1437
  1565. package/constants/token-data/index.mjs +0 -40
  1566. package/constants/token-data/localhostRegistry.json.cjs +0 -1
  1567. package/constants/token-data/localhostRegistry.json.mjs +0 -2788
  1568. package/constants/token-data/optimismRegistry.json.cjs +0 -1
  1569. package/constants/token-data/optimismRegistry.json.mjs +0 -705
  1570. package/constants/token-data/optimismRegistryFixed.json.cjs +0 -1
  1571. package/constants/token-data/optimismRegistryFixed.json.mjs +0 -705
  1572. package/constants/token-data/polygonRegistry.json.cjs +0 -1
  1573. package/constants/token-data/polygonRegistry.json.mjs +0 -2313
  1574. package/constants/token-data/polygonRegistryFixed.json.cjs +0 -1
  1575. package/constants/token-data/polygonRegistryFixed.json.mjs +0 -2313
  1576. package/constants/token-data/popularTokens.constants.cjs +0 -1
  1577. package/constants/token-data/popularTokens.constants.d.ts +0 -3
  1578. package/constants/token-data/popularTokens.constants.mjs +0 -14
  1579. package/constants/token-data/solanaLocalnetRegistry.json.cjs +0 -1
  1580. package/constants/token-data/solanaLocalnetRegistry.json.mjs +0 -24
  1581. package/constants/token-data/solanaMainnetRegistry.json.cjs +0 -1
  1582. package/constants/token-data/solanaMainnetRegistry.json.mjs +0 -560
  1583. package/constants/token-data/tokenPricing.consts.d.ts +0 -2
  1584. package/constants/token.limits.constants.cjs +0 -1
  1585. package/constants/token.limits.constants.mjs +0 -30
  1586. package/constants/vite.constants.cjs +0 -1
  1587. package/constants/vite.constants.d.ts +0 -16
  1588. package/constants/vite.constants.mjs +0 -38
  1589. package/constants/wallet.constants.cjs +0 -1
  1590. package/constants/wallet.constants.d.ts +0 -7
  1591. package/constants/wallet.constants.mjs +0 -10
  1592. package/crypto/babyJub.cjs +0 -1
  1593. package/crypto/babyJub.mjs +0 -15
  1594. package/crypto/poseidon.cjs +0 -1
  1595. package/crypto/poseidon.mjs +0 -26
  1596. package/crypto/preProcessing.cjs +0 -1
  1597. package/crypto/preProcessing.mjs +0 -11
  1598. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +0 -1
  1599. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +0 -175
  1600. package/data-structures/Hinkal/Hinkal.cjs +0 -1
  1601. package/data-structures/Hinkal/Hinkal.d.ts +0 -117
  1602. package/data-structures/Hinkal/Hinkal.mjs +0 -621
  1603. package/data-structures/Hinkal/IHinkal.d.ts +0 -107
  1604. package/data-structures/Hinkal/handleAutoDepositBack.cjs +0 -1
  1605. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +0 -5
  1606. package/data-structures/Hinkal/handleAutoDepositBack.mjs +0 -108
  1607. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  1608. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  1609. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  1610. package/data-structures/Hinkal/hinkalActionReceive.cjs +0 -1
  1611. package/data-structures/Hinkal/hinkalActionReceive.d.ts +0 -7
  1612. package/data-structures/Hinkal/hinkalActionReceive.mjs +0 -41
  1613. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  1614. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  1615. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  1616. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  1617. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +0 -1
  1618. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +0 -28
  1619. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +0 -1
  1620. package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +0 -3
  1621. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -51
  1622. package/data-structures/Hinkal/hinkalDeposit.cjs +0 -1
  1623. package/data-structures/Hinkal/hinkalDeposit.d.ts +0 -4
  1624. package/data-structures/Hinkal/hinkalDeposit.mjs +0 -149
  1625. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +0 -1
  1626. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +0 -4
  1627. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +0 -167
  1628. package/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +0 -1
  1629. package/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +0 -10
  1630. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
  1631. package/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -3
  1632. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -23
  1633. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  1634. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  1635. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  1636. package/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
  1637. package/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
  1638. package/data-structures/Hinkal/hinkalMultiSend.mjs +0 -13
  1639. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +0 -1
  1640. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +0 -6
  1641. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +0 -161
  1642. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +0 -1
  1643. package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +0 -4
  1644. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +0 -46
  1645. package/data-structures/Hinkal/hinkalProxySwap.cjs +0 -1
  1646. package/data-structures/Hinkal/hinkalProxySwap.d.ts +0 -8
  1647. package/data-structures/Hinkal/hinkalProxySwap.mjs +0 -60
  1648. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +0 -1
  1649. package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +0 -6
  1650. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +0 -45
  1651. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +0 -1
  1652. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +0 -4
  1653. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +0 -22
  1654. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +0 -1
  1655. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +0 -4
  1656. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +0 -133
  1657. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +0 -1
  1658. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +0 -3
  1659. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +0 -216
  1660. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +0 -1
  1661. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +0 -6
  1662. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +0 -55
  1663. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +0 -1
  1664. package/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +0 -6
  1665. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +0 -99
  1666. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +0 -1
  1667. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +0 -5
  1668. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +0 -96
  1669. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +0 -1
  1670. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +0 -4
  1671. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +0 -120
  1672. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +0 -1
  1673. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +0 -3
  1674. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +0 -90
  1675. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +0 -1
  1676. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +0 -3
  1677. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +0 -106
  1678. package/data-structures/Hinkal/hinkalSwap.cjs +0 -1
  1679. package/data-structures/Hinkal/hinkalSwap.d.ts +0 -6
  1680. package/data-structures/Hinkal/hinkalSwap.mjs +0 -130
  1681. package/data-structures/Hinkal/hinkalTransfer.cjs +0 -1
  1682. package/data-structures/Hinkal/hinkalTransfer.d.ts +0 -4
  1683. package/data-structures/Hinkal/hinkalTransfer.mjs +0 -130
  1684. package/data-structures/Hinkal/hinkalWithdraw.cjs +0 -1
  1685. package/data-structures/Hinkal/hinkalWithdraw.d.ts +0 -4
  1686. package/data-structures/Hinkal/hinkalWithdraw.mjs +0 -129
  1687. package/data-structures/Hinkal/index.d.ts +0 -13
  1688. package/data-structures/Hinkal/resetMerkleTrees.cjs +0 -1
  1689. package/data-structures/Hinkal/resetMerkleTrees.d.ts +0 -2
  1690. package/data-structures/Hinkal/resetMerkleTrees.mjs +0 -68
  1691. package/data-structures/IndexedDB/activity-db.cjs +0 -1
  1692. package/data-structures/IndexedDB/activity-db.d.ts +0 -15
  1693. package/data-structures/IndexedDB/activity-db.mjs +0 -187
  1694. package/data-structures/IndexedDB/balances-db.cjs +0 -1
  1695. package/data-structures/IndexedDB/balances-db.mjs +0 -93
  1696. package/data-structures/IndexedDB/contact-db.cjs +0 -1
  1697. package/data-structures/IndexedDB/contact-db.mjs +0 -98
  1698. package/data-structures/IndexedDB/index.d.ts +0 -6
  1699. package/data-structures/IndexedDB/prices-db.cjs +0 -1
  1700. package/data-structures/IndexedDB/prices-db.mjs +0 -62
  1701. package/data-structures/IndexedDB/private-balances-db.cjs +0 -1
  1702. package/data-structures/IndexedDB/private-balances-db.mjs +0 -28
  1703. package/data-structures/IndexedDB/signatures-db.cjs +0 -1
  1704. package/data-structures/IndexedDB/signatures-db.mjs +0 -63
  1705. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +0 -1
  1706. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +0 -20
  1707. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +0 -81
  1708. package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  1709. package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -204
  1710. package/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  1711. package/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -112
  1712. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  1713. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -173
  1714. package/data-structures/TokenDBs/PrivateTokensDB.cjs +0 -1
  1715. package/data-structures/TokenDBs/PrivateTokensDB.mjs +0 -65
  1716. package/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  1717. package/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
  1718. package/data-structures/TokenDBs/token-visibility-db.cjs +0 -1
  1719. package/data-structures/TokenDBs/token-visibility-db.mjs +0 -96
  1720. package/data-structures/ValueCache/ValueCache.cjs +0 -1
  1721. package/data-structures/ValueCache/ValueCache.mjs +0 -25
  1722. package/data-structures/cacheDevices/AttachableMemoryCacheDevice.cjs +0 -1
  1723. package/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +0 -28
  1724. package/data-structures/cacheDevices/BaseCacheDevice.cjs +0 -1
  1725. package/data-structures/cacheDevices/BaseCacheDevice.mjs +0 -21
  1726. package/data-structures/cacheDevices/FileCacheDevice.cjs +0 -1
  1727. package/data-structures/cacheDevices/FileCacheDevice.mjs +0 -41
  1728. package/data-structures/cacheDevices/LocalStorageCacheDevice.cjs +0 -1
  1729. package/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +0 -21
  1730. package/data-structures/crypto-keys/decodeUTXO.cjs +0 -1
  1731. package/data-structures/crypto-keys/decodeUTXO.mjs +0 -99
  1732. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +0 -1
  1733. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +0 -18
  1734. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +0 -46
  1735. package/data-structures/crypto-keys/keyUtils.cjs +0 -1
  1736. package/data-structures/crypto-keys/keyUtils.mjs +0 -10
  1737. package/data-structures/crypto-keys/keys.cjs +0 -1
  1738. package/data-structures/crypto-keys/keys.d.ts +0 -89
  1739. package/data-structures/crypto-keys/keys.mjs +0 -180
  1740. package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +0 -1
  1741. package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +0 -29
  1742. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +0 -1
  1743. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +0 -34
  1744. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -86
  1745. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +0 -1
  1746. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +0 -29
  1747. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +0 -92
  1748. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +0 -1
  1749. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +0 -29
  1750. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +0 -86
  1751. package/data-structures/event-service/evm/AbstractEventService.cjs +0 -1
  1752. package/data-structures/event-service/evm/AbstractEventService.d.ts +0 -12
  1753. package/data-structures/event-service/evm/AbstractEventService.mjs +0 -37
  1754. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +0 -1
  1755. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +0 -22
  1756. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +0 -48
  1757. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +0 -1
  1758. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -22
  1759. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +0 -33
  1760. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +0 -1
  1761. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +0 -24
  1762. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +0 -89
  1763. package/data-structures/event-service/index.d.ts +0 -13
  1764. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +0 -1
  1765. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +0 -34
  1766. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -87
  1767. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +0 -1
  1768. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +0 -29
  1769. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +0 -96
  1770. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +0 -1
  1771. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +0 -22
  1772. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +0 -33
  1773. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +0 -1
  1774. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +0 -21
  1775. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +0 -49
  1776. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +0 -1
  1777. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -22
  1778. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +0 -33
  1779. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +0 -1
  1780. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +0 -39
  1781. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +0 -153
  1782. package/data-structures/http/BasicHttpClient.cjs +0 -1
  1783. package/data-structures/http/BasicHttpClient.mjs +0 -25
  1784. package/data-structures/http/HttpClient.cjs +0 -1
  1785. package/data-structures/http/HttpClient.d.ts +0 -10
  1786. package/data-structures/http/HttpClient.mjs +0 -15
  1787. package/data-structures/index.d.ts +0 -18
  1788. package/data-structures/merkle-tree/MerkleTree.cjs +0 -1
  1789. package/data-structures/merkle-tree/MerkleTree.d.ts +0 -81
  1790. package/data-structures/merkle-tree/MerkleTree.mjs +0 -168
  1791. package/data-structures/merkle-tree/MerkleTreeIncompleteError.cjs +0 -1
  1792. package/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +0 -8
  1793. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +0 -1
  1794. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +0 -3
  1795. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +0 -13
  1796. package/data-structures/presale/PresaleContractWrapper.cjs +0 -1
  1797. package/data-structures/presale/PresaleContractWrapper.d.ts +0 -23
  1798. package/data-structures/presale/PresaleContractWrapper.mjs +0 -54
  1799. package/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -35
  1800. package/data-structures/snapshot/SnapshotFetcherService.cjs +0 -1
  1801. package/data-structures/snapshot/SnapshotFetcherService.d.ts +0 -16
  1802. package/data-structures/snapshot/SnapshotFetcherService.mjs +0 -42
  1803. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +0 -1
  1804. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -41
  1805. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +0 -1
  1806. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +0 -43
  1807. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +0 -1
  1808. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +0 -35
  1809. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +0 -1
  1810. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +0 -34
  1811. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +0 -1
  1812. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -42
  1813. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +0 -1
  1814. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +0 -34
  1815. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +0 -1
  1816. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +0 -34
  1817. package/data-structures/token-price-fetcher/TokenChecker.cjs +0 -1
  1818. package/data-structures/token-price-fetcher/TokenChecker.mjs +0 -16
  1819. package/data-structures/transactions-manager/history/history.types.cjs +0 -1
  1820. package/data-structures/transactions-manager/history/history.types.mjs +0 -4
  1821. package/data-structures/utxo/Utxo.cjs +0 -1
  1822. package/data-structures/utxo/Utxo.d.ts +0 -68
  1823. package/data-structures/utxo/Utxo.mjs +0 -148
  1824. package/error-handling/customErrors/ErrorWithAmount.cjs +0 -1
  1825. package/error-handling/customErrors/ErrorWithAmount.mjs +0 -9
  1826. package/error-handling/customErrors/ErrorWithTx.cjs +0 -1
  1827. package/error-handling/customErrors/ErrorWithTx.d.ts +0 -5
  1828. package/error-handling/customErrors/ErrorWithTx.mjs +0 -9
  1829. package/error-handling/customErrors/FeeOverTransactionValueError.cjs +0 -1
  1830. package/error-handling/customErrors/FeeOverTransactionValueError.mjs +0 -9
  1831. package/error-handling/customErrors/SimulationFailureError.cjs +0 -1
  1832. package/error-handling/customErrors/SimulationFailureError.d.ts +0 -10
  1833. package/error-handling/customErrors/SimulationFailureError.mjs +0 -9
  1834. package/error-handling/customErrors/customErrors.helpers.cjs +0 -1
  1835. package/error-handling/customErrors/customErrors.helpers.mjs +0 -21
  1836. package/error-handling/customErrors/index.d.ts +0 -5
  1837. package/error-handling/error-codes.constants.cjs +0 -2
  1838. package/error-handling/error-codes.constants.d.ts +0 -197
  1839. package/error-handling/error-codes.constants.mjs +0 -202
  1840. package/error-handling/get-error.message.cjs +0 -1
  1841. package/error-handling/get-error.message.d.ts +0 -5
  1842. package/error-handling/get-error.message.mjs +0 -102
  1843. package/error-handling/handleErrorRestore.cjs +0 -1
  1844. package/error-handling/handleErrorRestore.d.ts +0 -2
  1845. package/error-handling/handleErrorRestore.mjs +0 -11
  1846. package/error-handling/index.d.ts +0 -7
  1847. package/error-handling/logError.cjs +0 -1
  1848. package/error-handling/logError.mjs +0 -7
  1849. package/error-handling/logger.cjs +0 -1
  1850. package/error-handling/logger.mjs +0 -16
  1851. package/error-handling/types.cjs +0 -1
  1852. package/error-handling/types.mjs +0 -4
  1853. package/externalABIs/BUSD.cjs +0 -1
  1854. package/externalABIs/BUSD.mjs +0 -519
  1855. package/externalABIs/BabPassport.json.cjs +0 -1
  1856. package/externalABIs/BabPassport.json.mjs +0 -29
  1857. package/externalABIs/DAI.cjs +0 -1
  1858. package/externalABIs/DAI.mjs +0 -334
  1859. package/externalABIs/ERC1155.json.cjs +0 -1
  1860. package/externalABIs/ERC1155.json.mjs +0 -320
  1861. package/externalABIs/ERC20.d.ts +0 -1
  1862. package/externalABIs/ERC20.json.cjs +0 -1
  1863. package/externalABIs/ERC20.json.mjs +0 -308
  1864. package/externalABIs/ERC721.json.cjs +0 -1
  1865. package/externalABIs/ERC721.json.mjs +0 -338
  1866. package/externalABIs/GalxePassport.json.cjs +0 -1
  1867. package/externalABIs/GalxePassport.json.mjs +0 -46
  1868. package/externalABIs/IQuoterV2.json.cjs +0 -1
  1869. package/externalABIs/IQuoterV2.json.mjs +0 -222
  1870. package/externalABIs/ISwapRouter.json.cjs +0 -1
  1871. package/externalABIs/ISwapRouter.json.mjs +0 -571
  1872. package/externalABIs/IUniswapV3Factory.json.cjs +0 -1
  1873. package/externalABIs/IUniswapV3Factory.json.mjs +0 -218
  1874. package/externalABIs/IUniswapV3Pool.json.cjs +0 -1
  1875. package/externalABIs/IUniswapV3Pool.json.mjs +0 -1016
  1876. package/externalABIs/NodeInterfaceABI.json.cjs +0 -1
  1877. package/externalABIs/NodeInterfaceABI.json.mjs +0 -280
  1878. package/externalABIs/OptimismGasPriceOracle.json.cjs +0 -1
  1879. package/externalABIs/OptimismGasPriceOracle.json.mjs +0 -206
  1880. package/externalABIs/SanctionsList.cjs +0 -1
  1881. package/externalABIs/SanctionsList.mjs +0 -89
  1882. package/externalABIs/USDC.cjs +0 -1
  1883. package/externalABIs/USDC.mjs +0 -721
  1884. package/externalABIs/USDR.cjs +0 -1
  1885. package/externalABIs/USDR.mjs +0 -346
  1886. package/externalABIs/USDR3CRV.cjs +0 -1
  1887. package/externalABIs/USDR3CRV.mjs +0 -542
  1888. package/externalABIs/USDT.cjs +0 -1
  1889. package/externalABIs/USDT.mjs +0 -393
  1890. package/externalABIs/UniswapV2PoolAbi.json.cjs +0 -1
  1891. package/externalABIs/UniswapV2PoolAbi.json.mjs +0 -93
  1892. package/externalABIs/WETH.cjs +0 -1
  1893. package/externalABIs/WETH.mjs +0 -156
  1894. package/externalABIs/amToken.cjs +0 -1
  1895. package/externalABIs/amToken.mjs +0 -350
  1896. package/externalABIs/index.cjs +0 -1
  1897. package/externalABIs/index.d.ts +0 -269
  1898. package/externalABIs/index.mjs +0 -21
  1899. package/externalABIs/swapAbi.cjs +0 -1
  1900. package/externalABIs/swapAbi.mjs +0 -291
  1901. package/externalABIs/transactionsProver.json.cjs +0 -1
  1902. package/externalABIs/transactionsProver.json.mjs +0 -56
  1903. package/functions/connectors.types.d.ts +0 -14
  1904. package/functions/kyc/authentoHelper.cjs +0 -1
  1905. package/functions/kyc/authentoHelper.d.ts +0 -12
  1906. package/functions/kyc/authentoHelper.mjs +0 -30
  1907. package/functions/kyc/index.d.ts +0 -3
  1908. package/functions/kyc/openDefaultPassportWindow.cjs +0 -1
  1909. package/functions/kyc/openDefaultPassportWindow.mjs +0 -11
  1910. package/functions/kyc/passportHelper.cjs +0 -1
  1911. package/functions/kyc/passportHelper.mjs +0 -9
  1912. package/functions/kyc/zkMeHelper.cjs +0 -1
  1913. package/functions/kyc/zkMeHelper.mjs +0 -52
  1914. package/functions/pre-transaction/addressTableLookup.cjs +0 -1
  1915. package/functions/pre-transaction/addressTableLookup.d.ts +0 -4
  1916. package/functions/pre-transaction/addressTableLookup.mjs +0 -44
  1917. package/functions/pre-transaction/constructAdminData.cjs +0 -1
  1918. package/functions/pre-transaction/constructAdminData.d.ts +0 -3
  1919. package/functions/pre-transaction/constructAdminData.mjs +0 -33
  1920. package/functions/pre-transaction/convert-okx-instructions.cjs +0 -1
  1921. package/functions/pre-transaction/convert-okx-instructions.d.ts +0 -12
  1922. package/functions/pre-transaction/convert-okx-instructions.mjs +0 -30
  1923. package/functions/pre-transaction/getExternalSwapAddress.cjs +0 -1
  1924. package/functions/pre-transaction/getExternalSwapAddress.d.ts +0 -3
  1925. package/functions/pre-transaction/getExternalSwapAddress.mjs +0 -29
  1926. package/functions/pre-transaction/getFeeStructure.cjs +0 -1
  1927. package/functions/pre-transaction/getFeeStructure.d.ts +0 -4
  1928. package/functions/pre-transaction/getFeeStructure.mjs +0 -29
  1929. package/functions/pre-transaction/getFlatFees.cjs +0 -1
  1930. package/functions/pre-transaction/getFlatFees.d.ts +0 -8
  1931. package/functions/pre-transaction/getFlatFees.mjs +0 -65
  1932. package/functions/pre-transaction/getSignatureDataForTransact.cjs +0 -1
  1933. package/functions/pre-transaction/getSignatureDataForTransact.mjs +0 -6
  1934. package/functions/pre-transaction/getSolanaCalldataHash.cjs +0 -1
  1935. package/functions/pre-transaction/getSolanaCalldataHash.mjs +0 -36
  1936. package/functions/pre-transaction/getVolatileTransferAmount.cjs +0 -1
  1937. package/functions/pre-transaction/getVolatileTransferAmount.d.ts +0 -9
  1938. package/functions/pre-transaction/getVolatileTransferAmount.mjs +0 -53
  1939. package/functions/pre-transaction/index.d.ts +0 -17
  1940. package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
  1941. package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -20
  1942. package/functions/pre-transaction/interaction-to-action.cjs +0 -1
  1943. package/functions/pre-transaction/interaction-to-action.mjs +0 -11
  1944. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +0 -1
  1945. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +0 -3
  1946. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +0 -24
  1947. package/functions/pre-transaction/merge-with-fee-structure.cjs +0 -1
  1948. package/functions/pre-transaction/merge-with-fee-structure.mjs +0 -23
  1949. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +0 -1
  1950. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +0 -17
  1951. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +0 -39
  1952. package/functions/pre-transaction/outputUtxoProcessing.cjs +0 -1
  1953. package/functions/pre-transaction/outputUtxoProcessing.mjs +0 -35
  1954. package/functions/pre-transaction/process-gas-estimates.cjs +0 -1
  1955. package/functions/pre-transaction/process-gas-estimates.mjs +0 -25
  1956. package/functions/pre-transaction/recipientUtxoProcessing.cjs +0 -1
  1957. package/functions/pre-transaction/recipientUtxoProcessing.mjs +0 -36
  1958. package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +0 -1
  1959. package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +0 -41
  1960. package/functions/pre-transaction/sendV0Transaction.cjs +0 -1
  1961. package/functions/pre-transaction/sendV0Transaction.d.ts +0 -22
  1962. package/functions/pre-transaction/sendV0Transaction.mjs +0 -121
  1963. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +0 -1
  1964. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +0 -6
  1965. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +0 -7
  1966. package/functions/pre-transaction/solana-public-signals.cjs +0 -1
  1967. package/functions/pre-transaction/solana-public-signals.d.ts +0 -19
  1968. package/functions/pre-transaction/solana-public-signals.mjs +0 -60
  1969. package/functions/pre-transaction/solana.cjs +0 -1
  1970. package/functions/pre-transaction/solana.d.ts +0 -17
  1971. package/functions/pre-transaction/solana.mjs +0 -96
  1972. package/functions/pre-transaction/solanaTransfer.utils.cjs +0 -1
  1973. package/functions/pre-transaction/solanaTransfer.utils.mjs +0 -38
  1974. package/functions/pre-transaction/store-instructions.cjs +0 -1
  1975. package/functions/pre-transaction/store-instructions.mjs +0 -9
  1976. package/functions/pre-transaction/store-proof.cjs +0 -1
  1977. package/functions/pre-transaction/store-proof.mjs +0 -55
  1978. package/functions/private-wallet/emporium.helpers.cjs +0 -1
  1979. package/functions/private-wallet/emporium.helpers.d.ts +0 -31
  1980. package/functions/private-wallet/emporium.helpers.mjs +0 -202
  1981. package/functions/private-wallet/emporium.swap.helpers.cjs +0 -1
  1982. package/functions/private-wallet/emporium.swap.helpers.d.ts +0 -7
  1983. package/functions/private-wallet/emporium.swap.helpers.mjs +0 -157
  1984. package/functions/private-wallet/opProducer.cjs +0 -1
  1985. package/functions/private-wallet/opProducer.mjs +0 -23
  1986. package/functions/snarkjs/common.snarkjs.cjs +0 -1
  1987. package/functions/snarkjs/common.snarkjs.d.ts +0 -25
  1988. package/functions/snarkjs/common.snarkjs.mjs +0 -186
  1989. package/functions/snarkjs/constant.cjs +0 -1
  1990. package/functions/snarkjs/constant.d.ts +0 -430
  1991. package/functions/snarkjs/constant.mjs +0 -470
  1992. package/functions/snarkjs/constructEmporiumProof.cjs +0 -1
  1993. package/functions/snarkjs/constructEmporiumProof.d.ts +0 -14
  1994. package/functions/snarkjs/constructEmporiumProof.mjs +0 -173
  1995. package/functions/snarkjs/constructGeneralZkProof.cjs +0 -1
  1996. package/functions/snarkjs/constructGeneralZkProof.d.ts +0 -14
  1997. package/functions/snarkjs/constructGeneralZkProof.mjs +0 -162
  1998. package/functions/snarkjs/constructSolanaZkProof.cjs +0 -1
  1999. package/functions/snarkjs/constructSolanaZkProof.d.ts +0 -13
  2000. package/functions/snarkjs/constructSolanaZkProof.mjs +0 -109
  2001. package/functions/snarkjs/generateCircomData.cjs +0 -1
  2002. package/functions/snarkjs/generateCircomData.d.ts +0 -5
  2003. package/functions/snarkjs/generateCircomData.mjs +0 -37
  2004. package/functions/snarkjs/generateZkProof.cjs +0 -1
  2005. package/functions/snarkjs/generateZkProof.d.ts +0 -5
  2006. package/functions/snarkjs/generateZkProof.mjs +0 -15
  2007. package/functions/snarkjs/generateZkProofEnclave.cjs +0 -1
  2008. package/functions/snarkjs/generateZkProofEnclave.d.ts +0 -6
  2009. package/functions/snarkjs/generateZkProofEnclave.mjs +0 -27
  2010. package/functions/snarkjs/generateZkProofSelf.cjs +0 -1
  2011. package/functions/snarkjs/generateZkProofSelf.d.ts +0 -5
  2012. package/functions/snarkjs/generateZkProofSelf.mjs +0 -17
  2013. package/functions/snarkjs/getOriginalSender.cjs +0 -1
  2014. package/functions/snarkjs/getOriginalSender.mjs +0 -5
  2015. package/functions/snarkjs/getZKFiles.cjs +0 -1
  2016. package/functions/snarkjs/getZKFiles.d.ts +0 -3
  2017. package/functions/snarkjs/getZKFiles.mjs +0 -16
  2018. package/functions/snarkjs/index.d.ts +0 -5
  2019. package/functions/staking/index.cjs +0 -1
  2020. package/functions/staking/index.d.ts +0 -11
  2021. package/functions/staking/index.mjs +0 -42
  2022. package/functions/utils/addresses.cjs +0 -1
  2023. package/functions/utils/addresses.d.ts +0 -5
  2024. package/functions/utils/addresses.mjs +0 -26
  2025. package/functions/utils/amounts.utils.cjs +0 -1
  2026. package/functions/utils/amounts.utils.d.ts +0 -26
  2027. package/functions/utils/amounts.utils.mjs +0 -86
  2028. package/functions/utils/arraysMatch.cjs +0 -1
  2029. package/functions/utils/arraysMatch.mjs +0 -4
  2030. package/functions/utils/bytes32.utils.cjs +0 -1
  2031. package/functions/utils/bytes32.utils.mjs +0 -10
  2032. package/functions/utils/cacheDevice.utils.cjs +0 -1
  2033. package/functions/utils/cacheDevice.utils.d.ts +0 -3
  2034. package/functions/utils/cacheDevice.utils.mjs +0 -28
  2035. package/functions/utils/cacheFunctions.cjs +0 -1
  2036. package/functions/utils/cacheFunctions.d.ts +0 -20
  2037. package/functions/utils/cacheFunctions.mjs +0 -82
  2038. package/functions/utils/caseInsensitive.utils.cjs +0 -1
  2039. package/functions/utils/caseInsensitive.utils.mjs +0 -6
  2040. package/functions/utils/convertEmporiumOpToCallInfo.cjs +0 -1
  2041. package/functions/utils/convertEmporiumOpToCallInfo.mjs +0 -11
  2042. package/functions/utils/convertIntegrationProviderToExternalActionId.cjs +0 -1
  2043. package/functions/utils/convertIntegrationProviderToExternalActionId.mjs +0 -14
  2044. package/functions/utils/create-provider.cjs +0 -1
  2045. package/functions/utils/create-provider.d.ts +0 -6
  2046. package/functions/utils/create-provider.mjs +0 -12
  2047. package/functions/utils/encodeTokenWithId.cjs +0 -1
  2048. package/functions/utils/encodeTokenWithId.mjs +0 -8
  2049. package/functions/utils/encryptInputForEnclave.cjs +0 -1
  2050. package/functions/utils/encryptInputForEnclave.mjs +0 -44
  2051. package/functions/utils/enum.utils.cjs +0 -1
  2052. package/functions/utils/enum.utils.mjs +0 -14
  2053. package/functions/utils/erc20tokenFunctions.cjs +0 -1
  2054. package/functions/utils/erc20tokenFunctions.d.ts +0 -15
  2055. package/functions/utils/erc20tokenFunctions.mjs +0 -62
  2056. package/functions/utils/ethers-formatter.utils.cjs +0 -1
  2057. package/functions/utils/ethers-formatter.utils.d.ts +0 -5
  2058. package/functions/utils/ethers-formatter.utils.mjs +0 -59
  2059. package/functions/utils/evmNetworkFunctions.cjs +0 -1
  2060. package/functions/utils/evmNetworkFunctions.d.ts +0 -4
  2061. package/functions/utils/evmNetworkFunctions.mjs +0 -19
  2062. package/functions/utils/external-action.utils.cjs +0 -1
  2063. package/functions/utils/external-action.utils.mjs +0 -10
  2064. package/functions/utils/fees.utils.cjs +0 -1
  2065. package/functions/utils/fees.utils.d.ts +0 -4
  2066. package/functions/utils/fees.utils.mjs +0 -28
  2067. package/functions/utils/get-hinkal-approvals.cjs +0 -1
  2068. package/functions/utils/get-hinkal-approvals.d.ts +0 -3
  2069. package/functions/utils/get-hinkal-approvals.mjs +0 -38
  2070. package/functions/utils/get-signature-header.cjs +0 -1
  2071. package/functions/utils/get-signature-header.mjs +0 -8
  2072. package/functions/utils/getBlockExplorerUrl.cjs +0 -1
  2073. package/functions/utils/getBlockExplorerUrl.mjs +0 -6
  2074. package/functions/utils/getDataFromTransaction.cjs +0 -1
  2075. package/functions/utils/getDataFromTransaction.d.ts +0 -44
  2076. package/functions/utils/getDataFromTransaction.mjs +0 -64
  2077. package/functions/utils/getRecipientInfoFromUserKeys.cjs +0 -1
  2078. package/functions/utils/getRecipientInfoFromUserKeys.mjs +0 -15
  2079. package/functions/utils/getUtxosFromReceipt.utils.cjs +0 -1
  2080. package/functions/utils/getUtxosFromReceipt.utils.d.ts +0 -4
  2081. package/functions/utils/getUtxosFromReceipt.utils.mjs +0 -29
  2082. package/functions/utils/getUtxosFromReceiptSolana.cjs +0 -1
  2083. package/functions/utils/getUtxosFromReceiptSolana.d.ts +0 -5
  2084. package/functions/utils/getUtxosFromReceiptSolana.mjs +0 -19
  2085. package/functions/utils/inLogicMetadata.cjs +0 -1
  2086. package/functions/utils/inLogicMetadata.mjs +0 -8
  2087. package/functions/utils/involves-permit2-op.cjs +0 -1
  2088. package/functions/utils/involves-permit2-op.d.ts +0 -8
  2089. package/functions/utils/involves-permit2-op.mjs +0 -9
  2090. package/functions/utils/ipfs.cjs +0 -1
  2091. package/functions/utils/ipfs.mjs +0 -25
  2092. package/functions/utils/is-valid-url.cjs +0 -1
  2093. package/functions/utils/is-valid-url.mjs +0 -4
  2094. package/functions/utils/merkleTree.utils.cjs +0 -1
  2095. package/functions/utils/merkleTree.utils.mjs +0 -20
  2096. package/functions/utils/mutexes.utils.cjs +0 -1
  2097. package/functions/utils/mutexes.utils.d.ts +0 -2
  2098. package/functions/utils/mutexes.utils.mjs +0 -5
  2099. package/functions/utils/networks.utils.cjs +0 -1
  2100. package/functions/utils/networks.utils.mjs +0 -21
  2101. package/functions/utils/nftTokenFunctions.cjs +0 -1
  2102. package/functions/utils/nftTokenFunctions.mjs +0 -40
  2103. package/functions/utils/nickname.utils.cjs +0 -1
  2104. package/functions/utils/nickname.utils.mjs +0 -7
  2105. package/functions/utils/postToOffscreen.cjs +0 -1
  2106. package/functions/utils/postToOffscreen.mjs +0 -6
  2107. package/functions/utils/prepareHinkal.cjs +0 -1
  2108. package/functions/utils/prepareHinkal.d.ts +0 -18
  2109. package/functions/utils/prepareHinkal.mjs +0 -88
  2110. package/functions/utils/process.utils.cjs +0 -1
  2111. package/functions/utils/process.utils.d.ts +0 -7
  2112. package/functions/utils/process.utils.mjs +0 -16
  2113. package/functions/utils/processUseApprovalUtxoData.cjs +0 -1
  2114. package/functions/utils/processUseApprovalUtxoData.mjs +0 -19
  2115. package/functions/utils/publicBalance.utils.cjs +0 -1
  2116. package/functions/utils/publicBalance.utils.d.ts +0 -7
  2117. package/functions/utils/publicBalance.utils.mjs +0 -105
  2118. package/functions/utils/reloadPage.cjs +0 -1
  2119. package/functions/utils/reloadPage.mjs +0 -4
  2120. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  2121. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  2122. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  2123. package/functions/utils/requireEnv.cjs +0 -1
  2124. package/functions/utils/requireEnv.mjs +0 -7
  2125. package/functions/utils/resolve-sync.utils.cjs +0 -1
  2126. package/functions/utils/resolve-sync.utils.mjs +0 -31
  2127. package/functions/utils/rpc-int-encode.cjs +0 -1
  2128. package/functions/utils/rpc-int-encode.d.ts +0 -2
  2129. package/functions/utils/rpc-int-encode.mjs +0 -8
  2130. package/functions/utils/serialize.utils.cjs +0 -1
  2131. package/functions/utils/serialize.utils.d.ts +0 -2
  2132. package/functions/utils/serialize.utils.mjs +0 -5
  2133. package/functions/utils/solanaMint.utils.cjs +0 -1
  2134. package/functions/utils/solanaMint.utils.mjs +0 -14
  2135. package/functions/utils/string.utils.cjs +0 -1
  2136. package/functions/utils/string.utils.d.ts +0 -14
  2137. package/functions/utils/string.utils.mjs +0 -44
  2138. package/functions/utils/time.utils.cjs +0 -1
  2139. package/functions/utils/time.utils.d.ts +0 -12
  2140. package/functions/utils/time.utils.mjs +0 -46
  2141. package/functions/utils/token-check.utils.cjs +0 -1
  2142. package/functions/utils/token-check.utils.d.ts +0 -1
  2143. package/functions/utils/token-check.utils.mjs +0 -10
  2144. package/functions/utils/trimFieldValues.cjs +0 -1
  2145. package/functions/utils/trimFieldValues.mjs +0 -17
  2146. package/functions/utils/upToDateState.cjs +0 -1
  2147. package/functions/utils/upToDateState.d.ts +0 -2
  2148. package/functions/utils/upToDateState.mjs +0 -11
  2149. package/functions/utils/userAgent.cjs +0 -1
  2150. package/functions/utils/userAgent.d.ts +0 -3
  2151. package/functions/utils/userAgent.mjs +0 -27
  2152. package/functions/utils/walletBalances.utils.cjs +0 -1
  2153. package/functions/utils/walletBalances.utils.d.ts +0 -17
  2154. package/functions/utils/walletBalances.utils.mjs +0 -42
  2155. package/functions/web3/EIP-712.cjs +0 -1
  2156. package/functions/web3/EIP-712.d.ts +0 -23
  2157. package/functions/web3/EIP-712.mjs +0 -113
  2158. package/functions/web3/etherFunctions.cjs +0 -1
  2159. package/functions/web3/etherFunctions.d.ts +0 -20
  2160. package/functions/web3/etherFunctions.mjs +0 -41
  2161. package/functions/web3/events/balanceChangedCustomHandler.cjs +0 -1
  2162. package/functions/web3/events/balanceChangedCustomHandler.d.ts +0 -2
  2163. package/functions/web3/events/balanceChangedCustomHandler.mjs +0 -13
  2164. package/functions/web3/events/balanceChangedHandler.cjs +0 -1
  2165. package/functions/web3/events/balanceChangedHandler.d.ts +0 -1
  2166. package/functions/web3/events/balanceChangedHandler.mjs +0 -11
  2167. package/functions/web3/events/getApprovedBalance.cjs +0 -1
  2168. package/functions/web3/events/getApprovedBalance.d.ts +0 -7
  2169. package/functions/web3/events/getApprovedBalance.mjs +0 -54
  2170. package/functions/web3/events/getInputUtxoAndBalance.cjs +0 -1
  2171. package/functions/web3/events/getInputUtxoAndBalance.d.ts +0 -34
  2172. package/functions/web3/events/getInputUtxoAndBalance.mjs +0 -157
  2173. package/functions/web3/events/getInputUtxosEnclave.cjs +0 -1
  2174. package/functions/web3/events/getInputUtxosEnclave.d.ts +0 -8
  2175. package/functions/web3/events/getInputUtxosEnclave.mjs +0 -47
  2176. package/functions/web3/events/getShieldedBalance.cjs +0 -2
  2177. package/functions/web3/events/getShieldedBalance.d.ts +0 -18
  2178. package/functions/web3/events/getShieldedBalance.mjs +0 -96
  2179. package/functions/web3/events/getTransactionLogEvents.cjs +0 -1
  2180. package/functions/web3/events/getTransactionLogEvents.d.ts +0 -13
  2181. package/functions/web3/events/getTransactionLogEvents.mjs +0 -75
  2182. package/functions/web3/events/index.d.ts +0 -7
  2183. package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
  2184. package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
  2185. package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
  2186. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +0 -1
  2187. package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +0 -4
  2188. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +0 -45
  2189. package/functions/web3/functionCalls/accessTokenCalls.cjs +0 -1
  2190. package/functions/web3/functionCalls/accessTokenCalls.d.ts +0 -7
  2191. package/functions/web3/functionCalls/accessTokenCalls.mjs +0 -33
  2192. package/functions/web3/functionCalls/approveToken.cjs +0 -1
  2193. package/functions/web3/functionCalls/approveToken.d.ts +0 -4
  2194. package/functions/web3/functionCalls/approveToken.mjs +0 -131
  2195. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +0 -1
  2196. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +0 -4
  2197. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +0 -11
  2198. package/functions/web3/functionCalls/estimateGasRelayer.cjs +0 -1
  2199. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +0 -5
  2200. package/functions/web3/functionCalls/estimateGasRelayer.mjs +0 -22
  2201. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  2202. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  2203. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  2204. package/functions/web3/functionCalls/transactCallDirect.cjs +0 -1
  2205. package/functions/web3/functionCalls/transactCallDirect.d.ts +0 -6
  2206. package/functions/web3/functionCalls/transactCallDirect.mjs +0 -37
  2207. package/functions/web3/functionCalls/transactCallRelayer.cjs +0 -1
  2208. package/functions/web3/functionCalls/transactCallRelayer.d.ts +0 -27
  2209. package/functions/web3/functionCalls/transactCallRelayer.mjs +0 -100
  2210. package/functions/web3/getContractMetadata.cjs +0 -1
  2211. package/functions/web3/getContractMetadata.d.ts +0 -5
  2212. package/functions/web3/getContractMetadata.mjs +0 -34
  2213. package/functions/web3/getPublicAddressBalance.cjs +0 -1
  2214. package/functions/web3/getPublicAddressBalance.d.ts +0 -2
  2215. package/functions/web3/getPublicAddressBalance.mjs +0 -9
  2216. package/functions/web3/getTokenHolder.cjs +0 -1
  2217. package/functions/web3/getTokenHolder.mjs +0 -73
  2218. package/functions/web3/index.d.ts +0 -11
  2219. package/functions/web3/lifiAPI.cjs +0 -1
  2220. package/functions/web3/lifiAPI.d.ts +0 -6
  2221. package/functions/web3/lifiAPI.mjs +0 -30
  2222. package/functions/web3/odosAPI.cjs +0 -1
  2223. package/functions/web3/odosAPI.mjs +0 -71
  2224. package/functions/web3/okxAPI.cjs +0 -1
  2225. package/functions/web3/okxAPI.mjs +0 -43
  2226. package/functions/web3/oneInchAPI.cjs +0 -1
  2227. package/functions/web3/oneInchAPI.mjs +0 -69
  2228. package/functions/web3/runContractFunction.cjs +0 -1
  2229. package/functions/web3/runContractFunction.d.ts +0 -15
  2230. package/functions/web3/runContractFunction.mjs +0 -91
  2231. package/functions/web3/signAndSendSerializedTransaction.cjs +0 -1
  2232. package/functions/web3/signAndSendSerializedTransaction.mjs +0 -11
  2233. package/functions/web3/uniswapAPI.cjs +0 -1
  2234. package/functions/web3/uniswapAPI.d.ts +0 -16
  2235. package/functions/web3/uniswapAPI.mjs +0 -110
  2236. package/mutexes/mutex.cjs +0 -1
  2237. package/mutexes/mutex.mjs +0 -5
  2238. package/providers/CustomEthersProvider.cjs +0 -1
  2239. package/providers/CustomEthersProvider.d.ts +0 -10
  2240. package/providers/CustomEthersProvider.mjs +0 -29
  2241. package/providers/CustomSolanaConnection.cjs +0 -1
  2242. package/providers/CustomSolanaConnection.d.ts +0 -4
  2243. package/providers/CustomSolanaConnection.mjs +0 -33
  2244. package/types/IMultiThreadedUtxoUtils.d.ts +0 -8
  2245. package/types/RewardUserEnums.cjs +0 -1
  2246. package/types/RewardUserEnums.mjs +0 -5
  2247. package/types/TransactionSimulator.types.d.ts +0 -23
  2248. package/types/activities.types.cjs +0 -1
  2249. package/types/activities.types.d.ts +0 -72
  2250. package/types/activities.types.mjs +0 -25
  2251. package/types/admin.types.cjs +0 -1
  2252. package/types/admin.types.d.ts +0 -44
  2253. package/types/admin.types.mjs +0 -4
  2254. package/types/approvals.types.cjs +0 -1
  2255. package/types/approvals.types.mjs +0 -4
  2256. package/types/big-intable.types.d.ts +0 -2
  2257. package/types/bridging.types.d.ts +0 -29
  2258. package/types/cache.types.cjs +0 -1
  2259. package/types/cache.types.d.ts +0 -49
  2260. package/types/cache.types.mjs +0 -4
  2261. package/types/circom-data.types.cjs +0 -1
  2262. package/types/circom-data.types.d.ts +0 -102
  2263. package/types/circom-data.types.mjs +0 -22
  2264. package/types/coingecko.types.d.ts +0 -215
  2265. package/types/commitments.types.d.ts +0 -44
  2266. package/types/confirmation-request.types.cjs +0 -1
  2267. package/types/confirmation-request.types.mjs +0 -4
  2268. package/types/contacts.types.d.ts +0 -6
  2269. package/types/duneAPI.types.d.ts +0 -9
  2270. package/types/eip5792.types.cjs +0 -1
  2271. package/types/eip5792.types.d.ts +0 -26
  2272. package/types/eip5792.types.mjs +0 -4
  2273. package/types/ethereum-network.types.cjs +0 -1
  2274. package/types/ethereum-network.types.d.ts +0 -72
  2275. package/types/ethereum-network.types.mjs +0 -4
  2276. package/types/generatePoints.cjs +0 -1
  2277. package/types/generatePoints.mjs +0 -5
  2278. package/types/hinkal.stake.types.cjs +0 -1
  2279. package/types/hinkal.stake.types.d.ts +0 -11
  2280. package/types/hinkal.stake.types.mjs +0 -4
  2281. package/types/hinkal.types.cjs +0 -1
  2282. package/types/hinkal.types.d.ts +0 -116
  2283. package/types/hinkal.types.mjs +0 -34
  2284. package/types/kyc.types.cjs +0 -1
  2285. package/types/kyc.types.d.ts +0 -41
  2286. package/types/kyc.types.mjs +0 -14
  2287. package/types/new-rewards.type.cjs +0 -1
  2288. package/types/new-rewards.type.d.ts +0 -156
  2289. package/types/new-rewards.type.mjs +0 -7
  2290. package/types/offscreen.types.cjs +0 -1
  2291. package/types/offscreen.types.mjs +0 -4
  2292. package/types/proxy.types.d.ts +0 -10
  2293. package/types/relayer.types.d.ts +0 -25
  2294. package/types/rewards.types.cjs +0 -1
  2295. package/types/rewards.types.d.ts +0 -34
  2296. package/types/rewards.types.mjs +0 -5
  2297. package/types/routing.types.cjs +0 -1
  2298. package/types/routing.types.d.ts +0 -7
  2299. package/types/routing.types.mjs +0 -4
  2300. package/types/sandbox.types.cjs +0 -1
  2301. package/types/sandbox.types.d.ts +0 -222
  2302. package/types/sandbox.types.mjs +0 -4
  2303. package/types/session.types.d.ts +0 -11
  2304. package/types/slippage.types.cjs +0 -1
  2305. package/types/slippage.types.mjs +0 -4
  2306. package/types/solana.types.d.ts +0 -75
  2307. package/types/token-prices.types.cjs +0 -1
  2308. package/types/token-prices.types.d.ts +0 -7
  2309. package/types/token-prices.types.mjs +0 -9
  2310. package/types/token.types.cjs +0 -1
  2311. package/types/token.types.mjs +0 -4
  2312. package/types/transactions.types.cjs +0 -1
  2313. package/types/transactions.types.d.ts +0 -78
  2314. package/types/transactions.types.mjs +0 -39
  2315. package/webworker/performTaskWithWorker.cjs +0 -1
  2316. package/webworker/performTaskWithWorker.mjs +0 -41
  2317. package/webworker/snarkjsWorker/snarkjsWorker.types.cjs +0 -1
  2318. package/webworker/snarkjsWorker/snarkjsWorker.types.mjs +0 -4
  2319. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +0 -1
  2320. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +0 -4
  2321. package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +0 -1
  2322. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -10
  2323. package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +0 -38
  2324. package/webworker/utxoWorker/utxoWorker.types.cjs +0 -1
  2325. package/webworker/utxoWorker/utxoWorker.types.mjs +0 -4
  2326. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +0 -1
  2327. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +0 -4
  2328. package/webworker/utxoWorker/utxoWorkerLogic.cjs +0 -1
  2329. package/webworker/utxoWorker/utxoWorkerLogic.d.ts +0 -8
  2330. package/webworker/utxoWorker/utxoWorkerLogic.mjs +0 -78
  2331. package/webworker/viteWorkerURL.constant.cjs +0 -21
  2332. package/webworker/viteWorkerURL.constant.mjs +0 -21
  2333. package/webworker/worker.registry.cjs +0 -1
  2334. package/webworker/worker.registry.mjs +0 -4
  2335. package/webworker/workerFactory.cjs +0 -1
  2336. package/webworker/workerFactory.d.ts +0 -7
  2337. package/webworker/workerFactory.mjs +0 -42
  2338. package/webworker/workerProxy.cjs +0 -1
  2339. package/webworker/workerProxy.d.ts +0 -40
  2340. package/webworker/workerProxy.mjs +0 -54
  2341. package/webworker/zkProofWorker/zkProofWorker.types.cjs +0 -1
  2342. package/webworker/zkProofWorker/zkProofWorker.types.d.ts +0 -40
  2343. package/webworker/zkProofWorker/zkProofWorker.types.mjs +0 -4
  2344. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +0 -1
  2345. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +0 -4
  2346. package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +0 -1
  2347. package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +0 -8
  2348. package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +0 -52
  2349. /package/{API → common/src/API}/accessCodeCalls.d.ts +0 -0
  2350. /package/{API → common/src/API}/brotherhoodCalls.d.ts +0 -0
  2351. /package/{API → common/src/API}/callOdosAPI.d.ts +0 -0
  2352. /package/{API → common/src/API}/callOneInchAPI.d.ts +0 -0
  2353. /package/{API → common/src/API}/generate-trading-points.d.ts +0 -0
  2354. /package/{API → common/src/API}/getGasEstimates.d.ts +0 -0
  2355. /package/{API → common/src/API}/leaderboardCalls.d.ts +0 -0
  2356. /package/{API → common/src/API}/referralsCalls.d.ts +0 -0
  2357. /package/{API → common/src/API}/relayCalls.d.ts +0 -0
  2358. /package/{API → common/src/API}/resolve-sns.d.ts +0 -0
  2359. /package/{API → common/src/API}/seedless-calls.d.ts +0 -0
  2360. /package/{API → common/src/API}/send-telegram-callback.d.ts +0 -0
  2361. /package/{API → common/src/API}/token-calls.d.ts +0 -0
  2362. /package/{API → common/src/API}/weeklyAnalyticCalls.d.ts +0 -0
  2363. /package/{constants → common/src/constants}/activity.constants.d.ts +0 -0
  2364. /package/{constants → common/src/constants}/assets.constants.d.ts +0 -0
  2365. /package/{constants → common/src/constants}/balance.constants.d.ts +0 -0
  2366. /package/{constants → common/src/constants}/conversion.constants.d.ts +0 -0
  2367. /package/{constants → common/src/constants}/events.constants.d.ts +0 -0
  2368. /package/{constants → common/src/constants}/lifi.constants.d.ts +0 -0
  2369. /package/{functions/kyc/aiPriseHelper.d.ts → common/src/constants/mystery-boxes.constants.d.ts} +0 -0
  2370. /package/{constants → common/src/constants}/okx.constants.d.ts +0 -0
  2371. /package/{constants → common/src/constants}/rewards.constants.d.ts +0 -0
  2372. /package/{constants → common/src/constants}/tasks.constants.d.ts +0 -0
  2373. /package/{constants → common/src/constants}/token-data/ERC20Registry.d.ts +0 -0
  2374. /package/{constants → common/src/constants}/token.limits.constants.d.ts +0 -0
  2375. /package/{crypto → common/src/crypto}/babyJub.d.ts +0 -0
  2376. /package/{crypto → common/src/crypto}/index.d.ts +0 -0
  2377. /package/{crypto → common/src/crypto}/poseidon.d.ts +0 -0
  2378. /package/{crypto → common/src/crypto}/preProcessing.d.ts +0 -0
  2379. /package/{data-structures → common/src/data-structures}/ApprovalDBs/EventsPublicApprovalsDB.d.ts +0 -0
  2380. /package/{data-structures → common/src/data-structures}/ApprovalDBs/index.d.ts +0 -0
  2381. /package/{data-structures → common/src/data-structures}/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +0 -0
  2382. /package/{data-structures → common/src/data-structures}/Hinkal/hinkalGetRecipientInfo.d.ts +0 -0
  2383. /package/{data-structures → common/src/data-structures}/IndexedDB/balances-db.d.ts +0 -0
  2384. /package/{data-structures → common/src/data-structures}/IndexedDB/contact-db.d.ts +0 -0
  2385. /package/{data-structures → common/src/data-structures}/IndexedDB/prices-db.d.ts +0 -0
  2386. /package/{data-structures → common/src/data-structures}/IndexedDB/private-balances-db.d.ts +0 -0
  2387. /package/{data-structures → common/src/data-structures}/IndexedDB/signatures-db.d.ts +0 -0
  2388. /package/{data-structures → common/src/data-structures}/TokenDBs/AlchemyPublicTokensDB.d.ts +0 -0
  2389. /package/{data-structures → common/src/data-structures}/TokenDBs/ArcPublicTokensDB.d.ts +0 -0
  2390. /package/{data-structures → common/src/data-structures}/TokenDBs/EventsPublicTokensDB.d.ts +0 -0
  2391. /package/{data-structures → common/src/data-structures}/TokenDBs/IPublicTokensDB.d.ts +0 -0
  2392. /package/{data-structures → common/src/data-structures}/TokenDBs/PrivateTokensDB.d.ts +0 -0
  2393. /package/{data-structures → common/src/data-structures}/TokenDBs/PublicTokensDB.d.ts +0 -0
  2394. /package/{data-structures → common/src/data-structures}/TokenDBs/index.d.ts +0 -0
  2395. /package/{data-structures → common/src/data-structures}/TokenDBs/token-visibility-db.d.ts +0 -0
  2396. /package/{data-structures → common/src/data-structures}/ValueCache/ValueCache.d.ts +0 -0
  2397. /package/{data-structures → common/src/data-structures}/ValueCache/index.d.ts +0 -0
  2398. /package/{data-structures → common/src/data-structures}/cacheDevices/AttachableMemoryCacheDevice.d.ts +0 -0
  2399. /package/{data-structures → common/src/data-structures}/cacheDevices/BaseCacheDevice.d.ts +0 -0
  2400. /package/{data-structures → common/src/data-structures}/cacheDevices/FileCacheDevice.d.ts +0 -0
  2401. /package/{data-structures → common/src/data-structures}/cacheDevices/LocalStorageCacheDevice.d.ts +0 -0
  2402. /package/{data-structures → common/src/data-structures}/cacheDevices/index.d.ts +0 -0
  2403. /package/{data-structures → common/src/data-structures}/crypto-keys/decodeUTXO.d.ts +0 -0
  2404. /package/{data-structures → common/src/data-structures}/crypto-keys/index.d.ts +0 -0
  2405. /package/{data-structures → common/src/data-structures}/crypto-keys/keyUtils.d.ts +0 -0
  2406. /package/{data-structures → common/src/data-structures}/custom-token-registry/CustomTokenRegistry.d.ts +0 -0
  2407. /package/{data-structures → common/src/data-structures}/http/BasicHttpClient.d.ts +0 -0
  2408. /package/{data-structures → common/src/data-structures}/http/index.d.ts +0 -0
  2409. /package/{data-structures → common/src/data-structures}/merkle-tree/MerkleTreeIncompleteError.d.ts +0 -0
  2410. /package/{data-structures → common/src/data-structures}/merkle-tree/index.d.ts +0 -0
  2411. /package/{data-structures → common/src/data-structures}/presale/index.d.ts +0 -0
  2412. /package/{data-structures → common/src/data-structures}/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.d.ts +0 -0
  2413. /package/{data-structures → common/src/data-structures}/snapshot/evm-snapshots/ClientApprovalsSnapshotService.d.ts +0 -0
  2414. /package/{data-structures → common/src/data-structures}/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.d.ts +0 -0
  2415. /package/{data-structures → common/src/data-structures}/snapshot/evm-snapshots/ClientNullifierSnapshotService.d.ts +0 -0
  2416. /package/{data-structures → common/src/data-structures}/snapshot/index.d.ts +0 -0
  2417. /package/{data-structures → common/src/data-structures}/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +0 -0
  2418. /package/{data-structures → common/src/data-structures}/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.d.ts +0 -0
  2419. /package/{data-structures → common/src/data-structures}/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.d.ts +0 -0
  2420. /package/{data-structures → common/src/data-structures}/token-price-fetcher/TokenChecker.d.ts +0 -0
  2421. /package/{data-structures → common/src/data-structures}/token-price-fetcher/index.d.ts +0 -0
  2422. /package/{data-structures → common/src/data-structures}/transactions-manager/history/history.types.d.ts +0 -0
  2423. /package/{data-structures → common/src/data-structures}/transactions-manager/index.d.ts +0 -0
  2424. /package/{error-handling → common/src/error-handling}/customErrors/ErrorWithAmount.d.ts +0 -0
  2425. /package/{error-handling → common/src/error-handling}/customErrors/FeeOverTransactionValueError.d.ts +0 -0
  2426. /package/{error-handling → common/src/error-handling}/customErrors/customErrors.helpers.d.ts +0 -0
  2427. /package/{error-handling → common/src/error-handling}/logError.d.ts +0 -0
  2428. /package/{error-handling → common/src/error-handling}/logger.d.ts +0 -0
  2429. /package/{error-handling → common/src/error-handling}/types.d.ts +0 -0
  2430. /package/{externalABIs → common/src/externalABIs}/BUSD.d.ts +0 -0
  2431. /package/{externalABIs → common/src/externalABIs}/DAI.d.ts +0 -0
  2432. /package/{externalABIs → common/src/externalABIs}/SanctionsList.d.ts +0 -0
  2433. /package/{externalABIs → common/src/externalABIs}/USDC.d.ts +0 -0
  2434. /package/{externalABIs → common/src/externalABIs}/USDR.d.ts +0 -0
  2435. /package/{externalABIs → common/src/externalABIs}/USDR3CRV.d.ts +0 -0
  2436. /package/{externalABIs → common/src/externalABIs}/USDT.d.ts +0 -0
  2437. /package/{externalABIs → common/src/externalABIs}/WETH.d.ts +0 -0
  2438. /package/{externalABIs → common/src/externalABIs}/amToken.d.ts +0 -0
  2439. /package/{externalABIs → common/src/externalABIs}/swapAbi.d.ts +0 -0
  2440. /package/{functions → common/src/functions}/kyc/openDefaultPassportWindow.d.ts +0 -0
  2441. /package/{functions → common/src/functions}/kyc/passportHelper.d.ts +0 -0
  2442. /package/{functions → common/src/functions}/kyc/zkMeHelper.d.ts +0 -0
  2443. /package/{functions → common/src/functions}/pre-transaction/getSignatureDataForTransact.d.ts +0 -0
  2444. /package/{functions → common/src/functions}/pre-transaction/getSolanaCalldataHash.d.ts +0 -0
  2445. /package/{functions → common/src/functions}/pre-transaction/initTokenLimitIfNeeded.d.ts +0 -0
  2446. /package/{functions → common/src/functions}/pre-transaction/interaction-to-action.d.ts +0 -0
  2447. /package/{functions → common/src/functions}/pre-transaction/merge-with-fee-structure.d.ts +0 -0
  2448. /package/{functions → common/src/functions}/pre-transaction/outputUtxoProcessing.d.ts +0 -0
  2449. /package/{functions → common/src/functions}/pre-transaction/process-gas-estimates.d.ts +0 -0
  2450. /package/{functions → common/src/functions}/pre-transaction/recipientUtxoProcessing.d.ts +0 -0
  2451. /package/{functions → common/src/functions}/pre-transaction/sendInitNullifiersTransaction.d.ts +0 -0
  2452. /package/{functions → common/src/functions}/pre-transaction/solanaTransfer.utils.d.ts +0 -0
  2453. /package/{functions → common/src/functions}/pre-transaction/store-instructions.d.ts +0 -0
  2454. /package/{functions → common/src/functions}/pre-transaction/store-proof.d.ts +0 -0
  2455. /package/{functions → common/src/functions}/private-wallet/index.d.ts +0 -0
  2456. /package/{functions → common/src/functions}/private-wallet/opProducer.d.ts +0 -0
  2457. /package/{functions → common/src/functions}/snarkjs/getOriginalSender.d.ts +0 -0
  2458. /package/{functions → common/src/functions}/utils/arraysMatch.d.ts +0 -0
  2459. /package/{functions → common/src/functions}/utils/bytes32.utils.d.ts +0 -0
  2460. /package/{functions → common/src/functions}/utils/caseInsensitive.utils.d.ts +0 -0
  2461. /package/{functions → common/src/functions}/utils/convertEmporiumOpToCallInfo.d.ts +0 -0
  2462. /package/{functions → common/src/functions}/utils/convertIntegrationProviderToExternalActionId.d.ts +0 -0
  2463. /package/{functions → common/src/functions}/utils/encodeTokenWithId.d.ts +0 -0
  2464. /package/{functions → common/src/functions}/utils/encryptInputForEnclave.d.ts +0 -0
  2465. /package/{functions → common/src/functions}/utils/enum.utils.d.ts +0 -0
  2466. /package/{functions → common/src/functions}/utils/external-action.utils.d.ts +0 -0
  2467. /package/{functions → common/src/functions}/utils/get-signature-header.d.ts +0 -0
  2468. /package/{functions → common/src/functions}/utils/getBlockExplorerUrl.d.ts +0 -0
  2469. /package/{functions → common/src/functions}/utils/getRecipientInfoFromUserKeys.d.ts +0 -0
  2470. /package/{functions → common/src/functions}/utils/inLogicMetadata.d.ts +0 -0
  2471. /package/{functions → common/src/functions}/utils/ipfs.d.ts +0 -0
  2472. /package/{functions → common/src/functions}/utils/is-valid-url.d.ts +0 -0
  2473. /package/{functions → common/src/functions}/utils/lifi.utils.d.ts +0 -0
  2474. /package/{functions → common/src/functions}/utils/memoize.utils.d.ts +0 -0
  2475. /package/{functions → common/src/functions}/utils/merkleTree.utils.d.ts +0 -0
  2476. /package/{functions → common/src/functions}/utils/networks.utils.d.ts +0 -0
  2477. /package/{functions → common/src/functions}/utils/nftTokenFunctions.d.ts +0 -0
  2478. /package/{functions → common/src/functions}/utils/nickname.utils.d.ts +0 -0
  2479. /package/{functions → common/src/functions}/utils/postToOffscreen.d.ts +0 -0
  2480. /package/{functions → common/src/functions}/utils/processUseApprovalUtxoData.d.ts +0 -0
  2481. /package/{functions → common/src/functions}/utils/reloadPage.d.ts +0 -0
  2482. /package/{functions → common/src/functions}/utils/requireEnv.d.ts +0 -0
  2483. /package/{functions → common/src/functions}/utils/resolve-sync.utils.d.ts +0 -0
  2484. /package/{functions → common/src/functions}/utils/solanaMint.utils.d.ts +0 -0
  2485. /package/{functions → common/src/functions}/utils/trimFieldValues.d.ts +0 -0
  2486. /package/{functions → common/src/functions}/web3/functionCalls/getRootHash.d.ts +0 -0
  2487. /package/{functions → common/src/functions}/web3/functionCalls/relayFunctions.d.ts +0 -0
  2488. /package/{functions → common/src/functions}/web3/getTokenHolder.d.ts +0 -0
  2489. /package/{functions → common/src/functions}/web3/odosAPI.d.ts +0 -0
  2490. /package/{functions → common/src/functions}/web3/okxAPI.d.ts +0 -0
  2491. /package/{functions → common/src/functions}/web3/oneInchAPI.d.ts +0 -0
  2492. /package/{functions → common/src/functions}/web3/signAndSendSerializedTransaction.d.ts +0 -0
  2493. /package/{mutexes → common/src/mutexes}/index.d.ts +0 -0
  2494. /package/{mutexes → common/src/mutexes}/mutex.d.ts +0 -0
  2495. /package/{providers → common/src/providers}/exportProviers.d.ts +0 -0
  2496. /package/{types → common/src/types}/API.types.d.ts +0 -0
  2497. /package/{types → common/src/types}/ICacheDevice.d.ts +0 -0
  2498. /package/{types → common/src/types}/RewardUserEnums.d.ts +0 -0
  2499. /package/{types → common/src/types}/WeeklyAnalytics.types.d.ts +0 -0
  2500. /package/{types → common/src/types}/all-points.types.d.ts +0 -0
  2501. /package/{types → common/src/types}/approvals.types.d.ts +0 -0
  2502. /package/{types → common/src/types}/brotherhood-user.types.d.ts +0 -0
  2503. /package/{types → common/src/types}/confirmation-request.types.d.ts +0 -0
  2504. /package/{types → common/src/types}/crypto.types.d.ts +0 -0
  2505. /package/{types → common/src/types}/generatePoints.d.ts +0 -0
  2506. /package/{types → common/src/types}/http.types.d.ts +0 -0
  2507. /package/{types → common/src/types}/message.types.d.ts +0 -0
  2508. /package/{types → common/src/types}/offscreen.types.d.ts +0 -0
  2509. /package/{types → common/src/types}/okx.types.d.ts +0 -0
  2510. /package/{types → common/src/types}/presaleReferral.types.d.ts +0 -0
  2511. /package/{types → common/src/types}/referral.types.d.ts +0 -0
  2512. /package/{types → common/src/types}/remote-proof.types.d.ts +0 -0
  2513. /package/{types → common/src/types}/signature.types.d.ts +0 -0
  2514. /package/{types → common/src/types}/slippage.types.d.ts +0 -0
  2515. /package/{types → common/src/types}/snark.types.d.ts +0 -0
  2516. /package/{types → common/src/types}/tenderly.api.types.d.ts +0 -0
  2517. /package/{types → common/src/types}/token-with-id.types.d.ts +0 -0
  2518. /package/{types → common/src/types}/wc.types.d.ts +0 -0
  2519. /package/{types → common/src/types}/with-id.types.d.ts +0 -0
  2520. /package/{webworker → common/src/webworker}/performTaskWithWorker.d.ts +0 -0
  2521. /package/{webworker → common/src/webworker}/snarkjsWorker/snarkjsWorker.types.d.ts +0 -0
  2522. /package/{webworker → common/src/webworker}/snarkjsWorker/snarkjsWorkerLauncher.d.ts +0 -0
  2523. /package/{webworker → common/src/webworker}/utxoWorker/utxoWorker.types.d.ts +0 -0
  2524. /package/{webworker → common/src/webworker}/utxoWorker/utxoWorkerLauncher.d.ts +0 -0
  2525. /package/{webworker → common/src/webworker}/viteWorkerURL.constant.d.ts +0 -0
  2526. /package/{webworker → common/src/webworker}/worker.registry.d.ts +0 -0
  2527. /package/{webworker → common/src/webworker}/worker.types.d.ts +0 -0
  2528. /package/{webworker → common/src/webworker}/workerErrorHandler.d.ts +0 -0
  2529. /package/{webworker/zkProofWorker/zkProofWorkerLauncher.d.ts → common/src/webworker/workerThreadsPatch.d.ts} +0 -0
@@ -0,0 +1,122 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);let f=require(`worker_threads`);if(f=u(f),f.workerData===void 0||f.workerData===null)try{Object.defineProperty(f,`workerData`,{value:{mod:__filename,name:``,type:`commonjs`},writable:!0,configurable:!0})}catch{}var p=s(((e,t)=>{var n=t.exports={},r,i;function a(){throw Error(`setTimeout has not been defined`)}function o(){throw Error(`clearTimeout has not been defined`)}(function(){try{r=typeof setTimeout==`function`?setTimeout:a}catch{r=a}try{i=typeof clearTimeout==`function`?clearTimeout:o}catch{i=o}})();function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch{try{return r.call(null,e,0)}catch{return r.call(this,e,0)}}}function c(e){if(i===clearTimeout)return clearTimeout(e);if((i===o||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{return i(e)}catch{try{return i.call(null,e)}catch{return i.call(this,e)}}}var l=[],u=!1,d,f=-1;function p(){!u||!d||(u=!1,d.length?l=d.concat(l):f=-1,l.length&&m())}function m(){if(!u){var e=s(p);u=!0;for(var t=l.length;t;){for(d=l,l=[];++f<t;)d&&d[f].run();f=-1,t=l.length}d=null,u=!1,c(e)}}n.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),l.length===1&&!u&&s(m)};function h(e,t){this.fun=e,this.array=t}h.prototype.run=function(){this.fun.apply(null,this.array)},n.title=`browser`,n.browser=!0,n.env={},n.argv=[],n.version=``,n.versions={};function g(){}n.on=g,n.addListener=g,n.once=g,n.off=g,n.removeListener=g,n.removeAllListeners=g,n.emit=g,n.prependListener=g,n.prependOnceListener=g,n.listeners=function(e){return[]},n.binding=function(e){throw Error(`process.binding is not supported`)},n.cwd=function(){return`/`},n.chdir=function(e){throw Error(`process.chdir is not supported`)},n.umask=function(){return 0}})),m=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function h(e,t){if(!t||t==10)return BigInt(e);if(t==16)return e.slice(0,2)==`0x`?BigInt(e):BigInt(`0x`+e)}var g=h;function _(e,t){let n=BigInt(0);t=BigInt(t);for(let r=0;r<e.length;r++)n=n*t+BigInt(e[r]);return n}function v(e){let t=e.toString(16);return(t.length-1)*4+m[parseInt(t[0],16)]}function y(e){return BigInt(e)<BigInt(0)}function b(e){return!e}function x(e,t){return BigInt(e)<<BigInt(t)}function S(e,t){return BigInt(e)>>BigInt(t)}var C=x,w=S;function T(e){return(BigInt(e)&BigInt(1))==BigInt(1)}function E(e){let t=BigInt(e),n=[];for(;t;){if(t&BigInt(1)){let e=2-Number(t%BigInt(4));n.push(e),t-=BigInt(e)}else n.push(0);t>>=BigInt(1)}return n}function D(e){let t=BigInt(e),n=[];for(;t;)t&BigInt(1)?n.push(1):n.push(0),t>>=BigInt(1);return n}function O(e){if(e>BigInt(2**53-1))throw Error(`Number too big`);return Number(e)}function k(e,t){let n=[],r=BigInt(e);for(t=BigInt(t);r;)n.unshift(Number(r%t)),r/=t;return n}function A(e,t){return BigInt(e)+BigInt(t)}function j(e,t){return BigInt(e)-BigInt(t)}function M(e){return-BigInt(e)}function N(e,t){return BigInt(e)*BigInt(t)}function P(e){return BigInt(e)*BigInt(e)}function F(e,t){return BigInt(e)**BigInt(t)}function I(e,t){return BigInt(e)**BigInt(t)}function L(e){return BigInt(e)>=0?BigInt(e):-BigInt(e)}function R(e,t){return BigInt(e)/BigInt(t)}function z(e,t){return BigInt(e)%BigInt(t)}function B(e,t){return BigInt(e)==BigInt(t)}function ee(e,t){return BigInt(e)!=BigInt(t)}function te(e,t){return BigInt(e)<BigInt(t)}function V(e,t){return BigInt(e)>BigInt(t)}function ne(e,t){return BigInt(e)<=BigInt(t)}function re(e,t){return BigInt(e)>=BigInt(t)}function ie(e,t){return BigInt(e)&BigInt(t)}function ae(e,t){return BigInt(e)|BigInt(t)}function oe(e,t){return BigInt(e)^BigInt(t)}function se(e,t){return BigInt(e)&&BigInt(t)}function ce(e,t){return BigInt(e)||BigInt(t)}function le(e){return!BigInt(e)}function ue(e,t,n,r){let i=`0000000`+n.toString(16),a=new Uint32Array(e.buffer,e.byteOffset+t,r/4),o=((i.length-7)*4-1>>5)+1;for(let e=0;e<o;e++)a[e]=parseInt(i.substring(i.length-8*e-8,i.length-8*e),16);for(let e=o;e<a.length;e++)a[e]=0;for(let t=a.length*4;t<r;t++)e[t]=O(ie(S(n,t*8),255))}function de(e,t,n,r){let i=`0000000`+n.toString(16),a=new DataView(e.buffer,e.byteOffset+t,r),o=((i.length-7)*4-1>>5)+1;for(let e=0;e<o;e++)a.setUint32(r-e*4-4,parseInt(i.substring(i.length-8*e-8,i.length-8*e),16),!1);for(let e=0;e<r/4-o;e++)a[e]=0}function fe(e,t,n){n||=e.byteLength,t||=0;let r=new Uint32Array(e.buffer,e.byteOffset+t,n/4),i=Array(n/4);return r.forEach((e,t)=>i[i.length-t-1]=e.toString(16).padStart(8,`0`)),h(i.join(``),16)}function pe(e,t,n){n||=e.byteLength,t||=0;let r=new DataView(e.buffer,e.byteOffset+t,n),i=Array(n/4);for(let e=0;e<n/4;e++)i[e]=r.getUint32(e*4,!1).toString(16).padStart(8,`0`);return h(i.join(``),16)}function me(e,t){return e.toString(t)}function he(e){let t=new Uint8Array(Math.floor((v(e)-1)/8)+1);return ue(t,0,e,t.byteLength),t}var ge=g(0),H=g(1),_e=Object.freeze({__proto__:null,abs:L,add:A,band:ie,bitLength:v,bits:D,bor:ae,bxor:oe,div:R,e:g,eq:B,exp:I,fromArray:_,fromRprBE:pe,fromRprLE:fe,fromString:h,geq:re,gt:V,isNegative:y,isOdd:T,isZero:b,land:se,leq:ne,lnot:le,lor:ce,lt:te,mod:z,mul:N,naf:E,neg:M,neq:ee,one:H,pow:F,shiftLeft:x,shiftRight:S,shl:C,shr:w,square:P,sub:j,toArray:k,toLEBuff:he,toNumber:O,toRprBE:de,toRprLE:ue,toString:me,zero:ge}),U=[];for(let e=0;e<256;e++)U[e]=ve(e,8);function ve(e,t){let n=0,r=e;for(let e=0;e<t;e++)n<<=1,n|=r&1,r>>=1;return n}function ye(e,t,n){if(b(n))return e.one;let r=D(n);if(r.length==0)return e.one;let i=t;for(let n=r.length-2;n>=0;n--)i=e.square(i),r[n]&&(i=e.mul(i,t));return i}function be(e){if(e.m%2==1)if(B(z(e.p,4),1))if(B(z(e.p,8),1))if(B(z(e.p,16),1))xe(e);else if(B(z(e.p,16),9))Se(e);else throw Error(`Field withot sqrt`);else if(B(z(e.p,8),5))Ce(e);else throw Error(`Field withot sqrt`);else B(z(e.p,4),3)&&we(e);else{let t=z(F(e.p,e.m/2),4);t==1?Te(e):t==3?Ee(e):De(e)}}function xe(e){for(e.sqrt_q=F(e.p,e.m),e.sqrt_s=0,e.sqrt_t=j(e.sqrt_q,1);!T(e.sqrt_t);)e.sqrt_s+=1,e.sqrt_t=R(e.sqrt_t,2);let t=e.one;for(;e.eq(t,e.one);){let n=e.random();e.sqrt_z=e.pow(n,e.sqrt_t),t=e.pow(e.sqrt_z,2**(e.sqrt_s-1))}e.sqrt_tm1d2=R(j(e.sqrt_t,1),2),e.sqrt=function(e){let t=this;if(t.isZero(e))return t.zero;let n=t.pow(e,t.sqrt_tm1d2),r=t.pow(t.mul(t.square(n),e),2**(t.sqrt_s-1));if(t.eq(r,t.negone))return null;let i=t.sqrt_s,a=t.mul(e,n),o=t.mul(a,n),s=t.sqrt_z;for(;!t.eq(o,t.one);){let e=t.square(o),r=1;for(;!t.eq(e,t.one);)e=t.square(e),r++;n=s;for(let e=0;e<i-r-1;e++)n=t.square(n);s=t.square(n),o=t.mul(o,s),a=t.mul(a,n),i=r}return t.geq(a,t.zero)?a:t.neg(a)}}function Se(e){e.sqrt=function(){throw Error(`Sqrt alg 4 not implemented`)}}function Ce(e){e.sqrt=function(){throw Error(`Sqrt alg 3 not implemented`)}}function we(e){e.sqrt_q=F(e.p,e.m),e.sqrt_e1=R(j(e.sqrt_q,3),4),e.sqrt=function(t){if(this.isZero(t))return this.zero;let n=this.pow(t,this.sqrt_e1),r=this.mul(this.square(n),t);if(this.eq(r,this.negone))return null;let i=this.mul(n,t);return e.geq(i,e.zero)?i:e.neg(i)}}function Te(e){e.sqrt=function(){throw Error(`Sqrt alg 10 not implemented`)}}function Ee(e){e.sqrt_q=F(e.p,e.m/2),e.sqrt_e34=R(j(e.sqrt_q,3),4),e.sqrt_e12=R(j(e.sqrt_q,1),2),e.frobenius=function(t,n){return t%2==1?e.conjugate(n):n},e.sqrt=function(e){let t=this,n=t.pow(e,t.sqrt_e34),r=t.mul(t.square(n),e),i=t.mul(t.frobenius(1,r),r);if(t.eq(i,t.negone))return null;let a=t.mul(n,e),o;if(t.eq(r,t.negone))o=t.mul(a,[t.F.zero,t.F.one]);else{let e=t.pow(t.add(t.one,r),t.sqrt_e12);o=t.mul(e,a)}return t.geq(o,t.zero)?o:t.neg(o)}}function De(e){e.sqrt=function(){throw Error(`Sqrt alg 8 not implemented`)}}function Oe(e,t,n,r,i){e[t]=e[t]+e[n]>>>0,e[i]=(e[i]^e[t])>>>0,e[i]=(e[i]<<16|e[i]>>>16&65535)>>>0,e[r]=e[r]+e[i]>>>0,e[n]=(e[n]^e[r])>>>0,e[n]=(e[n]<<12|e[n]>>>20&4095)>>>0,e[t]=e[t]+e[n]>>>0,e[i]=(e[i]^e[t])>>>0,e[i]=(e[i]<<8|e[i]>>>24&255)>>>0,e[r]=e[r]+e[i]>>>0,e[n]=(e[n]^e[r])>>>0,e[n]=(e[n]<<7|e[n]>>>25&127)>>>0}function ke(e){Oe(e,0,4,8,12),Oe(e,1,5,9,13),Oe(e,2,6,10,14),Oe(e,3,7,11,15),Oe(e,0,5,10,15),Oe(e,1,6,11,12),Oe(e,2,7,8,13),Oe(e,3,4,9,14)}var Ae=class{constructor(e){e||=[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],0,0,0,0],this.idx=16,this.buff=Array(16)}nextU32(){return this.idx==16&&this.update(),this.buff[this.idx++]}nextU64(){return A(N(this.nextU32(),4294967296),this.nextU32())}nextBool(){return(this.nextU32()&1)==1}update(){for(let e=0;e<16;e++)this.buff[e]=this.state[e];for(let e=0;e<10;e++)ke(this.buff);for(let e=0;e<16;e++)this.buff[e]=this.buff[e]+this.state[e]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,this.state[12]==0&&(this.state[13]=this.state[13]+1>>>0,this.state[13]==0&&(this.state[14]=this.state[14]+1>>>0,this.state[14]==0&&(this.state[15]=this.state[15]+1>>>0)))}};function je(e){let t=new Uint8Array(e);if(globalThis.crypto!==void 0)globalThis.crypto.getRandomValues(t);else for(let n=0;n<e;n++)t[n]=Math.random()*4294967296>>>0;return t}function Me(){let e=je(32),t=new Uint32Array(e.buffer),n=[];for(let e=0;e<8;e++)n.push(t[e]);return n}var Ne=null;function Pe(){return Ne||(Ne=new Ae(Me()),Ne)}var Fe=class{constructor(e,t,n){this.F=t,this.G=e,this.opMulGF=n;let r=t.sqrt_t||t.t,i=t.sqrt_s||t.s,a=t.one;for(;t.eq(t.pow(a,t.half),t.one);)a=t.add(a,t.one);this.w=Array(i+1),this.wi=Array(i+1),this.w[i]=this.F.pow(a,r),this.wi[i]=this.F.inv(this.w[i]);let o=i-1;for(;o>=0;)this.w[o]=this.F.square(this.w[o+1]),this.wi[o]=this.F.square(this.wi[o+1]),o--;this.roots=[],this._setRoots(Math.min(i,15))}_setRoots(e){for(let t=e;t>=0&&!this.roots[t];t--){let e=this.F.one,n=1<<t,r=Array(n);for(let i=0;i<n;i++)r[i]=e,e=this.F.mul(e,this.w[t]);this.roots[t]=r}}fft(e){if(e.length<=1)return e;let t=Ie(e.length-1)+1;this._setRoots(t);let n=1<<t;if(e.length!=n)throw Error(`Size must be multiple of 2`);return Le(this,e,t,0,1)}ifft(e){if(e.length<=1)return e;let t=Ie(e.length-1)+1;this._setRoots(t);let n=1<<t;if(e.length!=n)throw Error(`Size must be multiple of 2`);let r=Le(this,e,t,0,1),i=this.F.inv(this.F.mulScalar(this.F.one,n)),a=Array(n);for(let e=0;e<n;e++)a[e]=this.opMulGF(r[(n-e)%n],i);return a}};function Ie(e){return(e&4294901760?(e&=4294901760,16):0)|(e&4278255360?(e&=4278255360,8):0)|(e&4042322160?(e&=4042322160,4):0)|(e&3435973836?(e&=3435973836,2):0)|(e&2863311530)!=0}function Le(e,t,n,r,i){let a=1<<n;if(a==1)return[t[r]];if(a==2)return[e.G.add(t[r],t[r+i]),e.G.sub(t[r],t[r+i])];let o=a>>1,s=Le(e,t,n-1,r,i*2),c=Le(e,t,n-1,r+i,i*2),l=Array(a);for(let t=0;t<o;t++)l[t]=e.G.add(s[t],e.opMulGF(c[t],e.roots[n][t])),l[t+o]=e.G.sub(s[t],e.opMulGF(c[t],e.roots[n][t]));return l}var Re=class{constructor(e){this.type=`F1`,this.one=BigInt(1),this.zero=BigInt(0),this.p=BigInt(e),this.m=1,this.negone=this.p-this.one,this.two=BigInt(2),this.half=this.p>>this.one,this.bitLength=v(this.p),this.mask=(this.one<<BigInt(this.bitLength))-this.one,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=this.n64*2,this.n8=this.n64*8,this.R=this.e(this.one<<BigInt(this.n64*64)),this.Ri=this.inv(this.R);let t=this.negone>>this.one;this.nqr=this.two;let n=this.pow(this.nqr,t);for(;!this.eq(n,this.negone);)this.nqr+=this.one,n=this.pow(this.nqr,t);for(this.s=0,this.t=this.negone;(this.t&this.one)==this.zero;)this.s+=1,this.t>>=this.one;this.nqr_to_t=this.pow(this.nqr,this.t),be(this),this.FFT=new Fe(this,this,this.mul.bind(this)),this.fft=this.FFT.fft.bind(this.FFT),this.ifft=this.FFT.ifft.bind(this.FFT),this.w=this.FFT.w,this.wi=this.FFT.wi,this.shift=this.square(this.nqr),this.k=this.exp(this.nqr,2**this.s)}e(e,t){let n;if(t?t==16&&(n=BigInt(`0x`+e)):n=BigInt(e),n<0){let e=-n;return e>=this.p&&(e%=this.p),this.p-e}else return n>=this.p?n%this.p:n}add(e,t){let n=e+t;return n>=this.p?n-this.p:n}sub(e,t){return e>=t?e-t:this.p-t+e}neg(e){return e&&this.p-e}mul(e,t){return e*t%this.p}mulScalar(e,t){return e*this.e(t)%this.p}square(e){return e*e%this.p}eq(e,t){return e==t}neq(e,t){return e!=t}lt(e,t){return(e>this.half?e-this.p:e)<(t>this.half?t-this.p:t)}gt(e,t){return(e>this.half?e-this.p:e)>(t>this.half?t-this.p:t)}leq(e,t){return(e>this.half?e-this.p:e)<=(t>this.half?t-this.p:t)}geq(e,t){return(e>this.half?e-this.p:e)>=(t>this.half?t-this.p:t)}div(e,t){return this.mul(e,this.inv(t))}idiv(e,t){if(!t)throw Error(`Division by zero`);return e/t}inv(e){if(!e)throw Error(`Division by zero`);let t=this.zero,n=this.p,r=this.one,i=e%this.p;for(;i;){let e=n/i;[t,r]=[r,t-e*r],[n,i]=[i,n-e*i]}return t<this.zero&&(t+=this.p),t}mod(e,t){return e%t}pow(e,t){return ye(this,e,t)}exp(e,t){return ye(this,e,t)}band(e,t){let n=e&t&this.mask;return n>=this.p?n-this.p:n}bor(e,t){let n=(e|t)&this.mask;return n>=this.p?n-this.p:n}bxor(e,t){let n=(e^t)&this.mask;return n>=this.p?n-this.p:n}bnot(e){let t=e^this.mask;return t>=this.p?t-this.p:t}shl(e,t){if(Number(t)<this.bitLength){let n=e<<t&this.mask;return n>=this.p?n-this.p:n}else{let n=this.p-t;return Number(n)<this.bitLength?e>>n:this.zero}}shr(e,t){if(Number(t)<this.bitLength)return e>>t;{let n=this.p-t;if(Number(n)<this.bitLength){let t=e<<n&this.mask;return t>=this.p?t-this.p:t}else return 0}}land(e,t){return e&&t?this.one:this.zero}lor(e,t){return e||t?this.one:this.zero}lnot(e){return e?this.zero:this.one}sqrt_old(e){if(e==this.zero)return this.zero;if(this.pow(e,this.negone>>this.one)!=this.one)return null;let t=this.s,n=this.nqr_to_t,r=this.pow(e,this.t),i=this.pow(e,this.add(this.t,this.one)>>this.one);for(;r!=this.one;){let e=this.square(r),a=1;for(;e!=this.one;)a++,e=this.square(e);let o=n;for(let e=0;e<t-a-1;e++)o=this.square(o);t=a,n=this.square(o),r=this.mul(r,n),i=this.mul(i,o)}return i>this.p>>this.one&&(i=this.neg(i)),i}normalize(e,t){if(e=BigInt(e,t),e<0){let t=-e;return t>=this.p&&(t%=this.p),this.p-t}else return e>=this.p?e%this.p:e}random(){let e=this.bitLength*2/8,t=this.zero;for(let n=0;n<e;n++)t=(t<<BigInt(8))+BigInt(je(1)[0]);return t%this.p}toString(e,t){t||=10;let n;return n=e>this.half&&t==10?`-`+(this.p-e).toString(t):e.toString(t),n}isZero(e){return e==this.zero}fromRng(e){let t;do{t=this.zero;for(let n=0;n<this.n64;n++)t+=e.nextU64()<<BigInt(64*n);t&=this.mask}while(t>=this.p);return t=t*this.Ri%this.p,t}fft(e){return this.FFT.fft(e)}ifft(e){return this.FFT.ifft(e)}toRprLE(e,t,n){ue(e,t,n,this.n64*8)}toRprBE(e,t,n){de(e,t,n,this.n64*8)}toRprBEM(e,t,n){return this.toRprBE(e,t,this.mul(this.R,n))}toRprLEM(e,t,n){return this.toRprLE(e,t,this.mul(this.R,n))}fromRprLE(e,t){return fe(e,t,this.n8)}fromRprBE(e,t){return pe(e,t,this.n8)}fromRprLEM(e,t){return this.mul(this.fromRprLE(e,t),this.Ri)}fromRprBEM(e,t){return this.mul(this.fromRprBE(e,t),this.Ri)}toObject(e){return e}},ze={};ze.bigInt2BytesLE=function(e,t){let n=Array(t),r=BigInt(e);for(let e=0;e<t;e++)n[e]=Number(r&255n),r>>=8n;return n},ze.bigInt2U32LE=function(e,t){let n=Array(t),r=BigInt(e);for(let e=0;e<t;e++)n[e]=Number(r&4294967295n),r>>=32n;return n},ze.isOcamNum=function(e){return!(!Array.isArray(e)||e.length!=3||typeof e[0]!=`number`||typeof e[1]!=`number`||!Array.isArray(e[2]))};var Be=function(e,t,n){let r=n||`int`;if(e.modules[r])return r;e.modules[r]={};let i=t*2,a=t*8;function o(){let n=e.addFunction(r+`_copy`);n.addParam(`px`,`i32`),n.addParam(`pr`,`i32`);let i=n.getCodeBuilder();for(let e=0;e<t;e++)n.addCode(i.i64_store(i.getLocal(`pr`),e*8,i.i64_load(i.getLocal(`px`),e*8)))}function s(){let n=e.addFunction(r+`_zero`);n.addParam(`pr`,`i32`);let i=n.getCodeBuilder();for(let e=0;e<t;e++)n.addCode(i.i64_store(i.getLocal(`pr`),e*8,i.i64_const(0)))}function c(){let n=e.addFunction(r+`_one`);n.addParam(`pr`,`i32`);let i=n.getCodeBuilder();n.addCode(i.i64_store(i.getLocal(`pr`),0,i.i64_const(1)));for(let e=1;e<t;e++)n.addCode(i.i64_store(i.getLocal(`pr`),e*8,i.i64_const(0)))}function l(){let n=e.addFunction(r+`_isZero`);n.addParam(`px`,`i32`),n.setReturnType(`i32`);let i=n.getCodeBuilder();function a(e){return e==0?i.ret(i.i64_eqz(i.i64_load(i.getLocal(`px`)))):i.if(i.i64_eqz(i.i64_load(i.getLocal(`px`),e*8)),a(e-1),i.ret(i.i32_const(0)))}n.addCode(a(t-1)),n.addCode(i.ret(i.i32_const(0)))}function u(){let n=e.addFunction(r+`_eq`);n.addParam(`px`,`i32`),n.addParam(`py`,`i32`),n.setReturnType(`i32`);let i=n.getCodeBuilder();function a(e){return e==0?i.ret(i.i64_eq(i.i64_load(i.getLocal(`px`)),i.i64_load(i.getLocal(`py`)))):i.if(i.i64_eq(i.i64_load(i.getLocal(`px`),e*8),i.i64_load(i.getLocal(`py`),e*8)),a(e-1),i.ret(i.i32_const(0)))}n.addCode(a(t-1)),n.addCode(i.ret(i.i32_const(0)))}function d(){let n=e.addFunction(r+`_gte`);n.addParam(`px`,`i32`),n.addParam(`py`,`i32`),n.setReturnType(`i32`);let i=n.getCodeBuilder();function a(e){return e==0?i.ret(i.i64_ge_u(i.i64_load(i.getLocal(`px`)),i.i64_load(i.getLocal(`py`)))):i.if(i.i64_lt_u(i.i64_load(i.getLocal(`px`),e*8),i.i64_load(i.getLocal(`py`),e*8)),i.ret(i.i32_const(0)),i.if(i.i64_gt_u(i.i64_load(i.getLocal(`px`),e*8),i.i64_load(i.getLocal(`py`),e*8)),i.ret(i.i32_const(1)),a(e-1)))}n.addCode(a(t-1)),n.addCode(i.ret(i.i32_const(0)))}function f(){let t=e.addFunction(r+`_add`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`),t.setReturnType(`i32`),t.addLocal(`c`,`i64`);let n=t.getCodeBuilder();t.addCode(n.setLocal(`c`,n.i64_add(n.i64_load32_u(n.getLocal(`x`)),n.i64_load32_u(n.getLocal(`y`))))),t.addCode(n.i64_store32(n.getLocal(`r`),n.getLocal(`c`)));for(let e=1;e<i;e++)t.addCode(n.setLocal(`c`,n.i64_add(n.i64_add(n.i64_load32_u(n.getLocal(`x`),4*e),n.i64_load32_u(n.getLocal(`y`),4*e)),n.i64_shr_u(n.getLocal(`c`),n.i64_const(32))))),t.addCode(n.i64_store32(n.getLocal(`r`),e*4,n.getLocal(`c`)));t.addCode(n.i32_wrap_i64(n.i64_shr_u(n.getLocal(`c`),n.i64_const(32))))}function p(){let t=e.addFunction(r+`_sub`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`),t.setReturnType(`i32`),t.addLocal(`c`,`i64`);let n=t.getCodeBuilder();t.addCode(n.setLocal(`c`,n.i64_sub(n.i64_load32_u(n.getLocal(`x`)),n.i64_load32_u(n.getLocal(`y`))))),t.addCode(n.i64_store32(n.getLocal(`r`),n.i64_and(n.getLocal(`c`),n.i64_const(`0xFFFFFFFF`))));for(let e=1;e<i;e++)t.addCode(n.setLocal(`c`,n.i64_add(n.i64_sub(n.i64_load32_u(n.getLocal(`x`),4*e),n.i64_load32_u(n.getLocal(`y`),4*e)),n.i64_shr_s(n.getLocal(`c`),n.i64_const(32))))),t.addCode(n.i64_store32(n.getLocal(`r`),e*4,n.i64_and(n.getLocal(`c`),n.i64_const(`0xFFFFFFFF`))));t.addCode(n.i32_wrap_i64(n.i64_shr_s(n.getLocal(`c`),n.i64_const(32))))}function m(){let t=e.addFunction(r+`_mul`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`c0`,`i64`),t.addLocal(`c1`,`i64`);for(let e=0;e<i;e++)t.addLocal(`x`+e,`i64`),t.addLocal(`y`+e,`i64`);let n=t.getCodeBuilder(),a=[],o=[];function s(e,t){let r,i;return a[e]?r=n.getLocal(`x`+e):(r=n.teeLocal(`x`+e,n.i64_load32_u(n.getLocal(`x`),e*4)),a[e]=!0),o[t]?i=n.getLocal(`y`+t):(i=n.teeLocal(`y`+t,n.i64_load32_u(n.getLocal(`y`),t*4)),o[t]=!0),n.i64_mul(r,i)}let c=`c0`,l=`c1`;for(let e=0;e<i*2-1;e++){for(let r=Math.max(0,e-i+1);r<=e&&r<i;r++){let i=e-r;t.addCode(n.setLocal(c,n.i64_add(n.i64_and(n.getLocal(c),n.i64_const(4294967295)),s(r,i)))),t.addCode(n.setLocal(l,n.i64_add(n.getLocal(l),n.i64_shr_u(n.getLocal(c),n.i64_const(32)))))}t.addCode(n.i64_store32(n.getLocal(`r`),e*4,n.getLocal(c))),[c,l]=[l,c],t.addCode(n.setLocal(l,n.i64_shr_u(n.getLocal(c),n.i64_const(32))))}t.addCode(n.i64_store32(n.getLocal(`r`),i*4*2-4,n.getLocal(c)))}function h(){let t=e.addFunction(r+`_square`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`c0`,`i64`),t.addLocal(`c1`,`i64`),t.addLocal(`c0_old`,`i64`),t.addLocal(`c1_old`,`i64`);for(let e=0;e<i;e++)t.addLocal(`x`+e,`i64`);let n=t.getCodeBuilder(),a=[];function o(e,t){let r,i;return a[e]?r=n.getLocal(`x`+e):(r=n.teeLocal(`x`+e,n.i64_load32_u(n.getLocal(`x`),e*4)),a[e]=!0),a[t]?i=n.getLocal(`x`+t):(i=n.teeLocal(`x`+t,n.i64_load32_u(n.getLocal(`x`),t*4)),a[t]=!0),n.i64_mul(r,i)}let s=`c0_old`,c=`c1_old`;for(let e=0;e<i*2-1;e++){t.addCode(n.setLocal(`c0`,n.i64_const(0)),n.setLocal(`c1`,n.i64_const(0)));for(let r=Math.max(0,e-i+1);r<e+1>>1&&r<i;r++){let i=e-r;t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),o(r,i)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))}t.addCode(n.setLocal(`c0`,n.i64_shl(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),n.i64_const(1)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.i64_shl(n.getLocal(`c1`),n.i64_const(1)),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32))))),e%2==0&&(t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),o(e>>1,e>>1)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))),e>0&&(t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),n.i64_and(n.getLocal(s),n.i64_const(4294967295))))),t.addCode(n.setLocal(`c1`,n.i64_add(n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32))),n.getLocal(c))))),t.addCode(n.i64_store32(n.getLocal(`r`),e*4,n.getLocal(`c0`))),t.addCode(n.setLocal(s,n.getLocal(`c1`)),n.setLocal(c,n.i64_shr_u(n.getLocal(s),n.i64_const(32))))}t.addCode(n.i64_store32(n.getLocal(`r`),i*4*2-4,n.getLocal(s)))}function g(){let t=e.addFunction(r+`_squareOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(r+`_mul`,n.getLocal(`x`),n.getLocal(`x`),n.getLocal(`r`)))}function _(){let t=e.addFunction(r+`__mul1`);t.addParam(`px`,`i32`),t.addParam(`y`,`i64`),t.addParam(`pr`,`i32`),t.addLocal(`c`,`i64`);let n=t.getCodeBuilder();t.addCode(n.setLocal(`c`,n.i64_mul(n.i64_load32_u(n.getLocal(`px`),0,0),n.getLocal(`y`)))),t.addCode(n.i64_store32(n.getLocal(`pr`),0,0,n.getLocal(`c`)));for(let e=1;e<i;e++)t.addCode(n.setLocal(`c`,n.i64_add(n.i64_mul(n.i64_load32_u(n.getLocal(`px`),4*e,0),n.getLocal(`y`)),n.i64_shr_u(n.getLocal(`c`),n.i64_const(32))))),t.addCode(n.i64_store32(n.getLocal(`pr`),e*4,0,n.getLocal(`c`)))}function v(){let t=e.addFunction(r+`__add1`);t.addParam(`x`,`i32`),t.addParam(`y`,`i64`),t.addLocal(`c`,`i64`),t.addLocal(`px`,`i32`);let n=t.getCodeBuilder();t.addCode(n.setLocal(`px`,n.getLocal(`x`))),t.addCode(n.setLocal(`c`,n.i64_add(n.i64_load32_u(n.getLocal(`px`),0,0),n.getLocal(`y`)))),t.addCode(n.i64_store32(n.getLocal(`px`),0,0,n.getLocal(`c`))),t.addCode(n.setLocal(`c`,n.i64_shr_u(n.getLocal(`c`),n.i64_const(32)))),t.addCode(n.block(n.loop(n.br_if(1,n.i64_eqz(n.getLocal(`c`))),n.setLocal(`px`,n.i32_add(n.getLocal(`px`),n.i32_const(4))),n.setLocal(`c`,n.i64_add(n.i64_load32_u(n.getLocal(`px`),0,0),n.getLocal(`c`))),n.i64_store32(n.getLocal(`px`),0,0,n.getLocal(`c`)),n.setLocal(`c`,n.i64_shr_u(n.getLocal(`c`),n.i64_const(32))),n.br(0))))}function y(){_(),v();let t=e.addFunction(r+`_div`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`c`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`rr`,`i32`),t.addLocal(`cc`,`i32`),t.addLocal(`eX`,`i32`),t.addLocal(`eY`,`i32`),t.addLocal(`sy`,`i64`),t.addLocal(`sx`,`i64`),t.addLocal(`ec`,`i32`);let n=t.getCodeBuilder(),i=n.i32_const(e.alloc(a)),o=n.i32_const(e.alloc(a)),s=n.i32_const(e.alloc(a)),c=n.getLocal(`cc`),l=n.getLocal(`rr`),u=e.alloc(a*2),d=n.i32_const(u),f=n.i32_const(u+a);t.addCode(n.if(n.getLocal(`c`),n.setLocal(`cc`,n.getLocal(`c`)),n.setLocal(`cc`,o))),t.addCode(n.if(n.getLocal(`r`),n.setLocal(`rr`,n.getLocal(`r`)),n.setLocal(`rr`,s))),t.addCode(n.call(r+`_copy`,n.getLocal(`x`),l)),t.addCode(n.call(r+`_copy`,n.getLocal(`y`),i)),t.addCode(n.call(r+`_zero`,c)),t.addCode(n.call(r+`_zero`,d)),t.addCode(n.setLocal(`eX`,n.i32_const(a-1))),t.addCode(n.setLocal(`eY`,n.i32_const(a-1))),t.addCode(n.block(n.loop(n.br_if(1,n.i32_or(n.i32_load8_u(n.i32_add(i,n.getLocal(`eY`)),0,0),n.i32_eq(n.getLocal(`eY`),n.i32_const(3)))),n.setLocal(`eY`,n.i32_sub(n.getLocal(`eY`),n.i32_const(1))),n.br(0)))),t.addCode(n.setLocal(`sy`,n.i64_add(n.i64_load32_u(n.i32_sub(n.i32_add(i,n.getLocal(`eY`)),n.i32_const(3)),0,0),n.i64_const(1)))),t.addCode(n.if(n.i64_eq(n.getLocal(`sy`),n.i64_const(1)),n.drop(n.i64_div_u(n.i64_const(0),n.i64_const(0))))),t.addCode(n.block(n.loop(n.block(n.loop(n.br_if(1,n.i32_or(n.i32_load8_u(n.i32_add(l,n.getLocal(`eX`)),0,0),n.i32_eq(n.getLocal(`eX`),n.i32_const(7)))),n.setLocal(`eX`,n.i32_sub(n.getLocal(`eX`),n.i32_const(1))),n.br(0))),n.setLocal(`sx`,n.i64_load(n.i32_sub(n.i32_add(l,n.getLocal(`eX`)),n.i32_const(7)),0,0)),n.setLocal(`sx`,n.i64_div_u(n.getLocal(`sx`),n.getLocal(`sy`))),n.setLocal(`ec`,n.i32_sub(n.i32_sub(n.getLocal(`eX`),n.getLocal(`eY`)),n.i32_const(4))),n.block(n.loop(n.br_if(1,n.i32_and(n.i64_eqz(n.i64_and(n.getLocal(`sx`),n.i64_const(`0xFFFFFFFF00000000`))),n.i32_ge_s(n.getLocal(`ec`),n.i32_const(0)))),n.setLocal(`sx`,n.i64_shr_u(n.getLocal(`sx`),n.i64_const(8))),n.setLocal(`ec`,n.i32_add(n.getLocal(`ec`),n.i32_const(1))),n.br(0))),n.if(n.i64_eqz(n.getLocal(`sx`)),[...n.br_if(2,n.i32_eqz(n.call(r+`_gte`,l,i))),...n.setLocal(`sx`,n.i64_const(1)),...n.setLocal(`ec`,n.i32_const(0))]),n.call(r+`__mul1`,i,n.getLocal(`sx`),f),n.drop(n.call(r+`_sub`,l,n.i32_sub(f,n.getLocal(`ec`)),l)),n.call(r+`__add1`,n.i32_add(c,n.getLocal(`ec`)),n.getLocal(`sx`)),n.br(0))))}function b(){let t=e.addFunction(r+`_inverseMod`);t.addParam(`px`,`i32`),t.addParam(`pm`,`i32`),t.addParam(`pr`,`i32`),t.addLocal(`t`,`i32`),t.addLocal(`newt`,`i32`),t.addLocal(`r`,`i32`),t.addLocal(`qq`,`i32`),t.addLocal(`qr`,`i32`),t.addLocal(`newr`,`i32`),t.addLocal(`swp`,`i32`),t.addLocal(`x`,`i32`),t.addLocal(`signt`,`i32`),t.addLocal(`signnewt`,`i32`),t.addLocal(`signx`,`i32`);let n=t.getCodeBuilder(),i=n.i32_const(e.alloc(a)),o=n.i32_const(e.alloc(a)),s=n.i32_const(e.alloc(a)),c=n.i32_const(e.alloc(a)),l=n.i32_const(e.alloc(a)),u=n.i32_const(e.alloc(a)),d=n.i32_const(e.alloc(a*2)),f=n.i32_const(e.alloc(a));t.addCode(n.setLocal(`t`,i),n.call(r+`_zero`,i),n.setLocal(`signt`,n.i32_const(0))),t.addCode(n.setLocal(`r`,o),n.call(r+`_copy`,n.getLocal(`pm`),o)),t.addCode(n.setLocal(`newt`,s),n.call(r+`_one`,s),n.setLocal(`signnewt`,n.i32_const(0))),t.addCode(n.setLocal(`newr`,c),n.call(r+`_copy`,n.getLocal(`px`),c)),t.addCode(n.setLocal(`qq`,l)),t.addCode(n.setLocal(`qr`,u)),t.addCode(n.setLocal(`x`,f)),t.addCode(n.block(n.loop(n.br_if(1,n.call(r+`_isZero`,n.getLocal(`newr`))),n.call(r+`_div`,n.getLocal(`r`),n.getLocal(`newr`),n.getLocal(`qq`),n.getLocal(`qr`)),n.call(r+`_mul`,n.getLocal(`qq`),n.getLocal(`newt`),d),n.if(n.getLocal(`signt`),n.if(n.getLocal(`signnewt`),n.if(n.call(r+`_gte`,d,n.getLocal(`t`)),[...n.drop(n.call(r+`_sub`,d,n.getLocal(`t`),n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(0))],[...n.drop(n.call(r+`_sub`,n.getLocal(`t`),d,n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(1))]),[...n.drop(n.call(r+`_add`,d,n.getLocal(`t`),n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(1))]),n.if(n.getLocal(`signnewt`),[...n.drop(n.call(r+`_add`,d,n.getLocal(`t`),n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(0))],n.if(n.call(r+`_gte`,n.getLocal(`t`),d),[...n.drop(n.call(r+`_sub`,n.getLocal(`t`),d,n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(0))],[...n.drop(n.call(r+`_sub`,d,n.getLocal(`t`),n.getLocal(`x`))),...n.setLocal(`signx`,n.i32_const(1))]))),n.setLocal(`swp`,n.getLocal(`t`)),n.setLocal(`t`,n.getLocal(`newt`)),n.setLocal(`newt`,n.getLocal(`x`)),n.setLocal(`x`,n.getLocal(`swp`)),n.setLocal(`signt`,n.getLocal(`signnewt`)),n.setLocal(`signnewt`,n.getLocal(`signx`)),n.setLocal(`swp`,n.getLocal(`r`)),n.setLocal(`r`,n.getLocal(`newr`)),n.setLocal(`newr`,n.getLocal(`qr`)),n.setLocal(`qr`,n.getLocal(`swp`)),n.br(0)))),t.addCode(n.if(n.getLocal(`signt`),n.drop(n.call(r+`_sub`,n.getLocal(`pm`),n.getLocal(`t`),n.getLocal(`pr`))),n.call(r+`_copy`,n.getLocal(`t`),n.getLocal(`pr`))))}return o(),s(),l(),c(),u(),d(),f(),p(),m(),h(),g(),y(),b(),e.exportFunction(r+`_copy`),e.exportFunction(r+`_zero`),e.exportFunction(r+`_one`),e.exportFunction(r+`_isZero`),e.exportFunction(r+`_eq`),e.exportFunction(r+`_gte`),e.exportFunction(r+`_add`),e.exportFunction(r+`_sub`),e.exportFunction(r+`_mul`),e.exportFunction(r+`_square`),e.exportFunction(r+`_squareOld`),e.exportFunction(r+`_div`),e.exportFunction(r+`_inverseMod`),r},Ve=function(e,t,n,r,i,a,o){let s=e.addFunction(t);s.addParam(`base`,`i32`),s.addParam(`scalar`,`i32`),s.addParam(`scalarLength`,`i32`),s.addParam(`r`,`i32`),s.addLocal(`i`,`i32`),s.addLocal(`b`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(n));s.addCode(c.if(c.i32_eqz(c.getLocal(`scalarLength`)),[...c.call(o,c.getLocal(`r`)),...c.ret([])])),s.addCode(c.call(a,c.getLocal(`base`),l)),s.addCode(c.call(o,c.getLocal(`r`))),s.addCode(c.setLocal(`i`,c.getLocal(`scalarLength`))),s.addCode(c.block(c.loop(c.setLocal(`i`,c.i32_sub(c.getLocal(`i`),c.i32_const(1))),c.setLocal(`b`,c.i32_load8_u(c.i32_add(c.getLocal(`scalar`),c.getLocal(`i`)))),...u(),c.br_if(1,c.i32_eqz(c.getLocal(`i`))),c.br(0))));function u(){let e=[];for(let t=0;t<8;t++)e.push(...c.call(i,c.getLocal(`r`),c.getLocal(`r`)),...c.if(c.i32_ge_u(c.getLocal(`b`),c.i32_const(128>>t)),[...c.setLocal(`b`,c.i32_sub(c.getLocal(`b`),c.i32_const(128>>t))),...c.call(r,c.getLocal(`r`),l,c.getLocal(`r`))]));return e}},He=Ue;function Ue(e,t){let n=e.modules[t].n64*8,r=e.addFunction(t+`_batchInverse`);r.addParam(`pIn`,`i32`),r.addParam(`inStep`,`i32`),r.addParam(`n`,`i32`),r.addParam(`pOut`,`i32`),r.addParam(`outStep`,`i32`),r.addLocal(`itAux`,`i32`),r.addLocal(`itIn`,`i32`),r.addLocal(`itOut`,`i32`),r.addLocal(`i`,`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(n));r.addCode(i.setLocal(`itAux`,i.i32_load(i.i32_const(0))),i.i32_store(i.i32_const(0),i.i32_add(i.getLocal(`itAux`),i.i32_mul(i.i32_add(i.getLocal(`n`),i.i32_const(1)),i.i32_const(n))))),r.addCode(i.call(t+`_one`,i.getLocal(`itAux`)),i.setLocal(`itIn`,i.getLocal(`pIn`)),i.setLocal(`itAux`,i.i32_add(i.getLocal(`itAux`),i.i32_const(n))),i.setLocal(`i`,i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal(`i`),i.getLocal(`n`))),i.if(i.call(t+`_isZero`,i.getLocal(`itIn`)),i.call(t+`_copy`,i.i32_sub(i.getLocal(`itAux`),i.i32_const(n)),i.getLocal(`itAux`)),i.call(t+`_mul`,i.getLocal(`itIn`),i.i32_sub(i.getLocal(`itAux`),i.i32_const(n)),i.getLocal(`itAux`))),i.setLocal(`itIn`,i.i32_add(i.getLocal(`itIn`),i.getLocal(`inStep`))),i.setLocal(`itAux`,i.i32_add(i.getLocal(`itAux`),i.i32_const(n))),i.setLocal(`i`,i.i32_add(i.getLocal(`i`),i.i32_const(1))),i.br(0))),i.setLocal(`itIn`,i.i32_sub(i.getLocal(`itIn`),i.getLocal(`inStep`))),i.setLocal(`itAux`,i.i32_sub(i.getLocal(`itAux`),i.i32_const(n))),i.setLocal(`itOut`,i.i32_add(i.getLocal(`pOut`),i.i32_mul(i.i32_sub(i.getLocal(`n`),i.i32_const(1)),i.getLocal(`outStep`)))),i.call(t+`_inverse`,i.getLocal(`itAux`),i.getLocal(`itAux`)),i.block(i.loop(i.br_if(1,i.i32_eqz(i.getLocal(`i`))),i.if(i.call(t+`_isZero`,i.getLocal(`itIn`)),[...i.call(t+`_copy`,i.getLocal(`itAux`),i.i32_sub(i.getLocal(`itAux`),i.i32_const(n))),...i.call(t+`_zero`,i.getLocal(`itOut`))],[...i.call(t+`_copy`,i.i32_sub(i.getLocal(`itAux`),i.i32_const(n)),a),...i.call(t+`_mul`,i.getLocal(`itAux`),i.getLocal(`itIn`),i.i32_sub(i.getLocal(`itAux`),i.i32_const(n))),...i.call(t+`_mul`,i.getLocal(`itAux`),a,i.getLocal(`itOut`))]),i.setLocal(`itIn`,i.i32_sub(i.getLocal(`itIn`),i.getLocal(`inStep`))),i.setLocal(`itOut`,i.i32_sub(i.getLocal(`itOut`),i.getLocal(`outStep`))),i.setLocal(`itAux`,i.i32_sub(i.getLocal(`itAux`),i.i32_const(n))),i.setLocal(`i`,i.i32_sub(i.getLocal(`i`),i.i32_const(1))),i.br(0)))),r.addCode(i.i32_store(i.i32_const(0),i.getLocal(`itAux`)))}var We=Ge;function Ge(e,t,n,r,i,a){a===void 0&&(a=r<i);let o=e.addFunction(t);o.addParam(`pIn`,`i32`),o.addParam(`n`,`i32`),o.addParam(`pOut`,`i32`),o.addLocal(`i`,`i32`),o.addLocal(`itIn`,`i32`),o.addLocal(`itOut`,`i32`);let s=o.getCodeBuilder();a?o.addCode(s.setLocal(`itIn`,s.i32_add(s.getLocal(`pIn`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.i32_const(1)),s.i32_const(r)))),s.setLocal(`itOut`,s.i32_add(s.getLocal(`pOut`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.i32_const(1)),s.i32_const(i)))),s.setLocal(`i`,s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`i`),s.getLocal(`n`))),s.call(n,s.getLocal(`itIn`),s.getLocal(`itOut`)),s.setLocal(`itIn`,s.i32_sub(s.getLocal(`itIn`),s.i32_const(r))),s.setLocal(`itOut`,s.i32_sub(s.getLocal(`itOut`),s.i32_const(i))),s.setLocal(`i`,s.i32_add(s.getLocal(`i`),s.i32_const(1))),s.br(0)))):o.addCode(s.setLocal(`itIn`,s.getLocal(`pIn`)),s.setLocal(`itOut`,s.getLocal(`pOut`)),s.setLocal(`i`,s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`i`),s.getLocal(`n`))),s.call(n,s.getLocal(`itIn`),s.getLocal(`itOut`)),s.setLocal(`itIn`,s.i32_add(s.getLocal(`itIn`),s.i32_const(r))),s.setLocal(`itOut`,s.i32_add(s.getLocal(`itOut`),s.i32_const(i))),s.setLocal(`i`,s.i32_add(s.getLocal(`i`),s.i32_const(1))),s.br(0))))}var Ke=qe;function qe(e,t,n,r,i,a){a===void 0&&(a=r<i);let o=e.addFunction(t);o.addParam(`pIn1`,`i32`),o.addParam(`pIn2`,`i32`),o.addParam(`n`,`i32`),o.addParam(`pOut`,`i32`),o.addLocal(`i`,`i32`),o.addLocal(`itIn1`,`i32`),o.addLocal(`itIn2`,`i32`),o.addLocal(`itOut`,`i32`);let s=o.getCodeBuilder();a?o.addCode(s.setLocal(`itIn1`,s.i32_add(s.getLocal(`pIn1`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.i32_const(1)),s.i32_const(r)))),s.setLocal(`itIn2`,s.i32_add(s.getLocal(`pIn2`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.i32_const(1)),s.i32_const(r)))),s.setLocal(`itOut`,s.i32_add(s.getLocal(`pOut`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.i32_const(1)),s.i32_const(i)))),s.setLocal(`i`,s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`i`),s.getLocal(`n`))),s.call(n,s.getLocal(`itIn1`),s.getLocal(`itIn2`),s.getLocal(`itOut`)),s.setLocal(`itIn1`,s.i32_sub(s.getLocal(`itIn1`),s.i32_const(r))),s.setLocal(`itIn2`,s.i32_sub(s.getLocal(`itIn2`),s.i32_const(r))),s.setLocal(`itOut`,s.i32_sub(s.getLocal(`itOut`),s.i32_const(i))),s.setLocal(`i`,s.i32_add(s.getLocal(`i`),s.i32_const(1))),s.br(0)))):o.addCode(s.setLocal(`itIn1`,s.getLocal(`pIn1`)),s.setLocal(`itIn2`,s.getLocal(`pIn2`)),s.setLocal(`itOut`,s.getLocal(`pOut`)),s.setLocal(`i`,s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`i`),s.getLocal(`n`))),s.call(n,s.getLocal(`itIn1`),s.getLocal(`itIn2`),s.getLocal(`itOut`)),s.setLocal(`itIn1`,s.i32_add(s.getLocal(`itIn1`),s.i32_const(r))),s.setLocal(`itIn2`,s.i32_add(s.getLocal(`itIn2`),s.i32_const(r))),s.setLocal(`itOut`,s.i32_add(s.getLocal(`itOut`),s.i32_const(i))),s.setLocal(`i`,s.i32_add(s.getLocal(`i`),s.i32_const(1))),s.br(0))))}var W={};function Je(e,t){return e===t?0:e>t?1:-1}function Ye(e){return e*e}function Xe(e){return e%2n!=0n}function Ze(e){return e%2n==0n}function Qe(e){return e<0n}function $e(e){return e>0n}function et(e){return Qe(e)?e.toString(2).length-1:e.toString(2).length}function tt(e){return e<0n?-e:e}function nt(e){return tt(e)===1n}function rt(e,t){for(var n=0n,r=1n,i=t,a=tt(e),o,s,c;a!==0n;)o=i/a,s=n,c=i,n=r,i=a,r=s-o*r,a=c-o*a;if(!nt(i))throw Error(e.toString()+` and `+t.toString()+` are not co-prime`);return Je(n,0n)===-1&&(n+=t),Qe(e)?-n:n}function it(e,t,n){if(n===0n)throw Error(`Cannot take modPow with modulus 0`);var r=1n,i=e%n;for(Qe(t)&&(t*=-1n,i=rt(i,n));$e(t);){if(i===0n)return 0n;Xe(t)&&(r=r*i%n),t/=2n,i=Ye(i)%n}return r}function at(e,t){return e=e>=0n?e:-e,t=t>=0n?t:-t,e===t?0:e>t?1:-1}function ot(e,t){return t===0n?!1:nt(t)?!0:at(t,2n)===0?Ze(e):e%t===0n}function st(e){var t=tt(e);if(nt(t))return!1;if(t===2n||t===3n||t===5n)return!0;if(Ze(t)||ot(t,3n)||ot(t,5n))return!1;if(t<49n)return!0}function ct(e){return e-1n}function lt(e,t){for(var n=ct(e),r=n,i=0,a,o,s;Ze(r);)r/=2n,i++;next:for(o=0;o<t.length;o++)if(!(e<t[o])&&(s=it(BigInt(t[o]),r,e),!(nt(s)||s===n))){for(a=i-1;a!=0;a--){if(s=Ye(s)%e,nt(s))return!1;if(s===n)continue next}return!1}return!0}function ut(e){var t=st(e);if(t!==void 0)return t;var n=tt(e),r=et(n);if(r<=64)return lt(n,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var i=Math.log(2)*Number(r),a=Math.ceil(i),o=[],s=0;s<a;s++)o.push(BigInt(s+2));return lt(n,o)}W.bitLength=et,W.isOdd=Xe,W.isNegative=Qe,W.abs=tt,W.isUnit=nt,W.compare=Je,W.modInv=rt,W.modPow=it,W.isPrime=ut,W.square=Ye;var dt=Be,ft=ze,pt=Ve,mt=He,ht=We,gt=Ke,{bitLength:_t,modInv:vt,modPow:yt,isPrime:bt,isOdd:xt,square:St}=W,Ct=function(e,t,n,r){let i=BigInt(t),a=Math.floor((_t(i-1n)-1)/64)+1,o=a*2,s=a*8,c=n||`f1m`;if(e.modules[c])return c;let l=dt(e,a,r),u=e.alloc(s,ft.bigInt2BytesLE(i,s)),d=e.alloc(ft.bigInt2BytesLE(St(1n<<BigInt(a*64))%i,s)),f=e.alloc(ft.bigInt2BytesLE((1n<<BigInt(a*64))%i,s)),p=e.alloc(ft.bigInt2BytesLE(0n,s)),m=i-1n,h=m>>1n,g=e.alloc(s,ft.bigInt2BytesLE(h,s)),_=h+1n,v=e.alloc(s,ft.bigInt2BytesLE(_,s));e.modules[c]={pq:u,pR2:d,n64:a,q:i,pOne:f,pZero:p,pePlusOne:v};function y(){let t=e.addFunction(c+`_one`);t.addParam(`pr`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(l+`_copy`,n.i32_const(f),n.getLocal(`pr`)))}function b(){let t=e.addFunction(c+`_add`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.if(n.call(l+`_add`,n.getLocal(`x`),n.getLocal(`y`),n.getLocal(`r`)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))),n.if(n.call(l+`_gte`,n.getLocal(`r`),n.i32_const(u)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))))))}function x(){let t=e.addFunction(c+`_sub`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.if(n.call(l+`_sub`,n.getLocal(`x`),n.getLocal(`y`),n.getLocal(`r`)),n.drop(n.call(l+`_add`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`)))))}function S(){let t=e.addFunction(c+`_neg`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(c+`_sub`,n.i32_const(p),n.getLocal(`x`),n.getLocal(`r`)))}function C(){let t=e.addFunction(c+`_isNegative`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s));t.addCode(n.call(c+`_fromMontgomery`,n.getLocal(`x`),r),n.call(l+`_gte`,r,n.i32_const(v)))}function w(){let t=e.addFunction(c+`_sign`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s));t.addCode(n.if(n.call(l+`_isZero`,n.getLocal(`x`)),n.ret(n.i32_const(0))),n.call(c+`_fromMontgomery`,n.getLocal(`x`),r),n.if(n.call(l+`_gte`,r,n.i32_const(v)),n.ret(n.i32_const(-1))),n.ret(n.i32_const(1)))}function T(){let t=e.alloc(o*o*8),n=e.addFunction(c+`_mReduct`);n.addParam(`t`,`i32`),n.addParam(`r`,`i32`),n.addLocal(`np32`,`i64`),n.addLocal(`c`,`i64`),n.addLocal(`m`,`i64`);let r=n.getCodeBuilder(),a=Number(4294967296n-vt(i,4294967296n));n.addCode(r.setLocal(`np32`,r.i64_const(a)));for(let e=0;e<o;e++){n.addCode(r.setLocal(`c`,r.i64_const(0))),n.addCode(r.setLocal(`m`,r.i64_and(r.i64_mul(r.i64_load32_u(r.getLocal(`t`),e*4),r.getLocal(`np32`)),r.i64_const(`0xFFFFFFFF`))));for(let t=0;t<o;t++)n.addCode(r.setLocal(`c`,r.i64_add(r.i64_add(r.i64_load32_u(r.getLocal(`t`),(e+t)*4),r.i64_shr_u(r.getLocal(`c`),r.i64_const(32))),r.i64_mul(r.i64_load32_u(r.i32_const(u),t*4),r.getLocal(`m`))))),n.addCode(r.i64_store32(r.getLocal(`t`),(e+t)*4,r.getLocal(`c`)));n.addCode(r.i64_store32(r.i32_const(t),e*4,r.i64_shr_u(r.getLocal(`c`),r.i64_const(32))))}n.addCode(r.call(c+`_add`,r.i32_const(t),r.i32_add(r.getLocal(`t`),r.i32_const(o*4)),r.getLocal(`r`)))}function E(){let t=e.addFunction(c+`_mul`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`c0`,`i64`),t.addLocal(`c1`,`i64`),t.addLocal(`np32`,`i64`);for(let e=0;e<o;e++)t.addLocal(`x`+e,`i64`),t.addLocal(`y`+e,`i64`),t.addLocal(`m`+e,`i64`),t.addLocal(`q`+e,`i64`);let n=t.getCodeBuilder(),r=Number(4294967296n-vt(i,4294967296n));t.addCode(n.setLocal(`np32`,n.i64_const(r)));let a=[],s=[],d=[];function f(e,t){let r,i;return a[e]?r=n.getLocal(`x`+e):(r=n.teeLocal(`x`+e,n.i64_load32_u(n.getLocal(`x`),e*4)),a[e]=!0),s[t]?i=n.getLocal(`y`+t):(i=n.teeLocal(`y`+t,n.i64_load32_u(n.getLocal(`y`),t*4)),s[t]=!0),n.i64_mul(r,i)}function p(e,t){let r,i;return d[e]?r=n.getLocal(`q`+e):(r=n.teeLocal(`q`+e,n.i64_load32_u(n.i32_const(0),u+e*4)),d[e]=!0),i=n.getLocal(`m`+t),n.i64_mul(r,i)}let m=`c0`,h=`c1`;for(let e=0;e<o*2-1;e++){for(let r=Math.max(0,e-o+1);r<=e&&r<o;r++){let i=e-r;t.addCode(n.setLocal(m,n.i64_add(n.i64_and(n.getLocal(m),n.i64_const(4294967295)),f(r,i)))),t.addCode(n.setLocal(h,n.i64_add(n.getLocal(h),n.i64_shr_u(n.getLocal(m),n.i64_const(32)))))}for(let r=Math.max(1,e-o+1);r<=e&&r<o;r++){let i=e-r;t.addCode(n.setLocal(m,n.i64_add(n.i64_and(n.getLocal(m),n.i64_const(4294967295)),p(r,i)))),t.addCode(n.setLocal(h,n.i64_add(n.getLocal(h),n.i64_shr_u(n.getLocal(m),n.i64_const(32)))))}e<o&&(t.addCode(n.setLocal(`m`+e,n.i64_and(n.i64_mul(n.i64_and(n.getLocal(m),n.i64_const(4294967295)),n.getLocal(`np32`)),n.i64_const(`0xFFFFFFFF`)))),t.addCode(n.setLocal(m,n.i64_add(n.i64_and(n.getLocal(m),n.i64_const(4294967295)),p(0,e)))),t.addCode(n.setLocal(h,n.i64_add(n.getLocal(h),n.i64_shr_u(n.getLocal(m),n.i64_const(32)))))),e>=o&&t.addCode(n.i64_store32(n.getLocal(`r`),(e-o)*4,n.getLocal(m))),[m,h]=[h,m],t.addCode(n.setLocal(h,n.i64_shr_u(n.getLocal(m),n.i64_const(32))))}t.addCode(n.i64_store32(n.getLocal(`r`),o*4-4,n.getLocal(m))),t.addCode(n.if(n.i32_wrap_i64(n.getLocal(h)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))),n.if(n.call(l+`_gte`,n.getLocal(`r`),n.i32_const(u)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))))))}function D(){let t=e.addFunction(c+`_square`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`c0`,`i64`),t.addLocal(`c1`,`i64`),t.addLocal(`c0_old`,`i64`),t.addLocal(`c1_old`,`i64`),t.addLocal(`np32`,`i64`);for(let e=0;e<o;e++)t.addLocal(`x`+e,`i64`),t.addLocal(`m`+e,`i64`),t.addLocal(`q`+e,`i64`);let n=t.getCodeBuilder(),r=Number(4294967296n-vt(i,4294967296n));t.addCode(n.setLocal(`np32`,n.i64_const(r)));let a=[],s=[];function d(e,t){let r,i;return a[e]?r=n.getLocal(`x`+e):(r=n.teeLocal(`x`+e,n.i64_load32_u(n.getLocal(`x`),e*4)),a[e]=!0),a[t]?i=n.getLocal(`x`+t):(i=n.teeLocal(`x`+t,n.i64_load32_u(n.getLocal(`x`),t*4)),a[t]=!0),n.i64_mul(r,i)}function f(e,t){let r,i;return s[e]?r=n.getLocal(`q`+e):(r=n.teeLocal(`q`+e,n.i64_load32_u(n.i32_const(0),u+e*4)),s[e]=!0),i=n.getLocal(`m`+t),n.i64_mul(r,i)}let p=`c0_old`,m=`c1_old`;for(let e=0;e<o*2-1;e++){t.addCode(n.setLocal(`c0`,n.i64_const(0)),n.setLocal(`c1`,n.i64_const(0)));for(let r=Math.max(0,e-o+1);r<e+1>>1&&r<o;r++){let i=e-r;t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),d(r,i)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))}t.addCode(n.setLocal(`c0`,n.i64_shl(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),n.i64_const(1)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.i64_shl(n.getLocal(`c1`),n.i64_const(1)),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32))))),e%2==0&&(t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),d(e>>1,e>>1)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))),e>0&&(t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),n.i64_and(n.getLocal(p),n.i64_const(4294967295))))),t.addCode(n.setLocal(`c1`,n.i64_add(n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32))),n.getLocal(m)))));for(let r=Math.max(1,e-o+1);r<=e&&r<o;r++){let i=e-r;t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),f(r,i)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))}e<o&&(t.addCode(n.setLocal(`m`+e,n.i64_and(n.i64_mul(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),n.getLocal(`np32`)),n.i64_const(`0xFFFFFFFF`)))),t.addCode(n.setLocal(`c0`,n.i64_add(n.i64_and(n.getLocal(`c0`),n.i64_const(4294967295)),f(0,e)))),t.addCode(n.setLocal(`c1`,n.i64_add(n.getLocal(`c1`),n.i64_shr_u(n.getLocal(`c0`),n.i64_const(32)))))),e>=o&&t.addCode(n.i64_store32(n.getLocal(`r`),(e-o)*4,n.getLocal(`c0`))),t.addCode(n.setLocal(p,n.getLocal(`c1`)),n.setLocal(m,n.i64_shr_u(n.getLocal(p),n.i64_const(32))))}t.addCode(n.i64_store32(n.getLocal(`r`),o*4-4,n.getLocal(p))),t.addCode(n.if(n.i32_wrap_i64(n.getLocal(m)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))),n.if(n.call(l+`_gte`,n.getLocal(`r`),n.i32_const(u)),n.drop(n.call(l+`_sub`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))))))}function O(){let t=e.addFunction(c+`_squareOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(c+`_mul`,n.getLocal(`x`),n.getLocal(`x`),n.getLocal(`r`)))}function k(){let t=e.addFunction(c+`_toMontgomery`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(c+`_mul`,n.getLocal(`x`),n.i32_const(d),n.getLocal(`r`)))}function A(){let t=e.alloc(s*2),n=e.addFunction(c+`_fromMontgomery`);n.addParam(`x`,`i32`),n.addParam(`r`,`i32`);let r=n.getCodeBuilder();n.addCode(r.call(l+`_copy`,r.getLocal(`x`),r.i32_const(t))),n.addCode(r.call(l+`_zero`,r.i32_const(t+s))),n.addCode(r.call(c+`_mReduct`,r.i32_const(t),r.getLocal(`r`)))}function j(){let t=e.addFunction(c+`_inverse`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(c+`_fromMontgomery`,n.getLocal(`x`),n.getLocal(`r`))),t.addCode(n.call(l+`_inverseMod`,n.getLocal(`r`),n.i32_const(u),n.getLocal(`r`))),t.addCode(n.call(c+`_toMontgomery`,n.getLocal(`r`),n.getLocal(`r`)))}let M=2n;if(bt(i))for(;yt(M,h,i)!==m;)M+=1n;let N=0,P=m;for(;!xt(P)&&P!==0n;)N++,P>>=1n;let F=e.alloc(s,ft.bigInt2BytesLE(P,s)),I=yt(M,P,i),L=e.alloc(ft.bigInt2BytesLE((I<<BigInt(a*64))%i,s)),R=P+1n>>1n,z=e.alloc(s,ft.bigInt2BytesLE(R,s));function B(){let t=e.addFunction(c+`_sqrt`);t.addParam(`n`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`m`,`i32`),t.addLocal(`i`,`i32`),t.addLocal(`j`,`i32`);let n=t.getCodeBuilder(),r=n.i32_const(f),i=n.i32_const(e.alloc(s)),a=n.i32_const(e.alloc(s)),o=n.i32_const(e.alloc(s)),l=n.i32_const(e.alloc(s)),u=n.i32_const(e.alloc(s));t.addCode(n.if(n.call(c+`_isZero`,n.getLocal(`n`)),n.ret(n.call(c+`_zero`,n.getLocal(`r`)))),n.setLocal(`m`,n.i32_const(N)),n.call(c+`_copy`,n.i32_const(L),i),n.call(c+`_exp`,n.getLocal(`n`),n.i32_const(F),n.i32_const(s),a),n.call(c+`_exp`,n.getLocal(`n`),n.i32_const(z),n.i32_const(s),o),n.block(n.loop(n.br_if(1,n.call(c+`_eq`,a,r)),n.call(c+`_square`,a,l),n.setLocal(`i`,n.i32_const(1)),n.block(n.loop(n.br_if(1,n.call(c+`_eq`,l,r)),n.call(c+`_square`,l,l),n.setLocal(`i`,n.i32_add(n.getLocal(`i`),n.i32_const(1))),n.br(0))),n.call(c+`_copy`,i,u),n.setLocal(`j`,n.i32_sub(n.i32_sub(n.getLocal(`m`),n.getLocal(`i`)),n.i32_const(1))),n.block(n.loop(n.br_if(1,n.i32_eqz(n.getLocal(`j`))),n.call(c+`_square`,u,u),n.setLocal(`j`,n.i32_sub(n.getLocal(`j`),n.i32_const(1))),n.br(0))),n.setLocal(`m`,n.getLocal(`i`)),n.call(c+`_square`,u,i),n.call(c+`_mul`,a,i,a),n.call(c+`_mul`,o,u,o),n.br(0))),n.if(n.call(c+`_isNegative`,o),n.call(c+`_neg`,o,n.getLocal(`r`)),n.call(c+`_copy`,o,n.getLocal(`r`))))}function ee(){let t=e.addFunction(c+`_isSquare`);t.addParam(`n`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=n.i32_const(f),i=n.i32_const(e.alloc(s));t.addCode(n.if(n.call(c+`_isZero`,n.getLocal(`n`)),n.ret(n.i32_const(1))),n.call(c+`_exp`,n.getLocal(`n`),n.i32_const(g),n.i32_const(s),i),n.call(c+`_eq`,i,r))}function te(){let t=e.addFunction(c+`_load`);t.addParam(`scalar`,`i32`),t.addParam(`scalarLen`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`p`,`i32`),t.addLocal(`l`,`i32`),t.addLocal(`i`,`i32`),t.addLocal(`j`,`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s)),i=e.alloc(s),a=n.i32_const(i);t.addCode(n.call(l+`_zero`,n.getLocal(`r`)),n.setLocal(`i`,n.i32_const(s)),n.setLocal(`p`,n.getLocal(`scalar`)),n.block(n.loop(n.br_if(1,n.i32_gt_u(n.getLocal(`i`),n.getLocal(`scalarLen`))),n.if(n.i32_eq(n.getLocal(`i`),n.i32_const(s)),n.call(c+`_one`,r),n.call(c+`_mul`,r,n.i32_const(d),r)),n.call(c+`_mul`,n.getLocal(`p`),r,a),n.call(c+`_add`,n.getLocal(`r`),a,n.getLocal(`r`)),n.setLocal(`p`,n.i32_add(n.getLocal(`p`),n.i32_const(s))),n.setLocal(`i`,n.i32_add(n.getLocal(`i`),n.i32_const(s))),n.br(0))),n.setLocal(`l`,n.i32_rem_u(n.getLocal(`scalarLen`),n.i32_const(s))),n.if(n.i32_eqz(n.getLocal(`l`)),n.ret([])),n.call(l+`_zero`,a),n.setLocal(`j`,n.i32_const(0)),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(`j`),n.getLocal(`l`))),n.i32_store8(n.getLocal(`j`),i,n.i32_load8_u(n.getLocal(`p`))),n.setLocal(`p`,n.i32_add(n.getLocal(`p`),n.i32_const(1))),n.setLocal(`j`,n.i32_add(n.getLocal(`j`),n.i32_const(1))),n.br(0))),n.if(n.i32_eq(n.getLocal(`i`),n.i32_const(s)),n.call(c+`_one`,r),n.call(c+`_mul`,r,n.i32_const(d),r)),n.call(c+`_mul`,a,r,a),n.call(c+`_add`,n.getLocal(`r`),a,n.getLocal(`r`)))}function V(){let t=e.addFunction(c+`_timesScalar`);t.addParam(`x`,`i32`),t.addParam(`scalar`,`i32`),t.addParam(`scalarLen`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s));t.addCode(n.call(c+`_load`,n.getLocal(`scalar`),n.getLocal(`scalarLen`),r),n.call(c+`_toMontgomery`,r,r),n.call(c+`_mul`,n.getLocal(`x`),r,n.getLocal(`r`)))}function ne(){let t=e.addFunction(c+`_isOne`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder();t.addCode(n.ret(n.call(l+`_eq`,n.getLocal(`x`),n.i32_const(f))))}return e.exportFunction(l+`_copy`,c+`_copy`),e.exportFunction(l+`_zero`,c+`_zero`),e.exportFunction(l+`_isZero`,c+`_isZero`),e.exportFunction(l+`_eq`,c+`_eq`),ne(),b(),x(),S(),T(),E(),D(),O(),k(),A(),C(),w(),j(),y(),te(),V(),mt(e,c),ht(e,c+`_batchToMontgomery`,c+`_toMontgomery`,s,s),ht(e,c+`_batchFromMontgomery`,c+`_fromMontgomery`,s,s),ht(e,c+`_batchNeg`,c+`_neg`,s,s),gt(e,c+`_batchAdd`,c+`_add`,s,s),gt(e,c+`_batchSub`,c+`_sub`,s,s),gt(e,c+`_batchMul`,c+`_mul`,s,s),e.exportFunction(c+`_add`),e.exportFunction(c+`_sub`),e.exportFunction(c+`_neg`),e.exportFunction(c+`_isNegative`),e.exportFunction(c+`_isOne`),e.exportFunction(c+`_sign`),e.exportFunction(c+`_mReduct`),e.exportFunction(c+`_mul`),e.exportFunction(c+`_square`),e.exportFunction(c+`_squareOld`),e.exportFunction(c+`_fromMontgomery`),e.exportFunction(c+`_toMontgomery`),e.exportFunction(c+`_inverse`),e.exportFunction(c+`_one`),e.exportFunction(c+`_load`),e.exportFunction(c+`_timesScalar`),pt(e,c+`_exp`,s,c+`_mul`,c+`_square`,l+`_copy`,c+`_one`),e.exportFunction(c+`_exp`),e.exportFunction(c+`_batchInverse`),bt(i)&&(B(),ee(),e.exportFunction(c+`_sqrt`),e.exportFunction(c+`_isSquare`)),e.exportFunction(c+`_batchToMontgomery`),e.exportFunction(c+`_batchFromMontgomery`),c},wt=Ct,{bitLength:Tt}=W,Et=function(e,t,n,r,i){let a=BigInt(t),o=Math.floor((Tt(a-1n)-1)/64)+1,s=o*8,c=n||`f1`;if(e.modules[c])return c;e.modules[c]={n64:o};let l=i||`int`,u=wt(e,a,r,l),d=e.modules[u].pR2,f=e.modules[u].pq,p=e.modules[u].pePlusOne;function m(){let t=e.alloc(s),n=e.addFunction(c+`_mul`);n.addParam(`x`,`i32`),n.addParam(`y`,`i32`),n.addParam(`r`,`i32`);let r=n.getCodeBuilder();n.addCode(r.call(u+`_mul`,r.getLocal(`x`),r.getLocal(`y`),r.i32_const(t))),n.addCode(r.call(u+`_mul`,r.i32_const(t),r.i32_const(d),r.getLocal(`r`)))}function h(){let t=e.addFunction(c+`_square`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(c+`_mul`,n.getLocal(`x`),n.getLocal(`x`),n.getLocal(`r`)))}function g(){let t=e.addFunction(c+`_inverse`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let n=t.getCodeBuilder();t.addCode(n.call(l+`_inverseMod`,n.getLocal(`x`),n.i32_const(f),n.getLocal(`r`)))}function _(){let t=e.addFunction(c+`_isNegative`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder();t.addCode(n.call(l+`_gte`,n.getLocal(`x`),n.i32_const(p)))}return m(),h(),g(),_(),e.exportFunction(u+`_add`,c+`_add`),e.exportFunction(u+`_sub`,c+`_sub`),e.exportFunction(u+`_neg`,c+`_neg`),e.exportFunction(c+`_mul`),e.exportFunction(c+`_square`),e.exportFunction(c+`_inverse`),e.exportFunction(c+`_isNegative`),e.exportFunction(u+`_copy`,c+`_copy`),e.exportFunction(u+`_zero`,c+`_zero`),e.exportFunction(u+`_one`,c+`_one`),e.exportFunction(u+`_isZero`,c+`_isZero`),e.exportFunction(u+`_eq`,c+`_eq`),c},Dt=Ve,Ot=He,kt=ze,At=function(e,t,n,r){if(e.modules[n])return n;let i=e.modules[r].n64*8,a=e.modules[r].q;e.modules[n]={n64:e.modules[r].n64*2};function o(){let t=e.addFunction(n+`_add`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`y`),l=a.i32_add(a.getLocal(`y`),a.i32_const(i)),u=a.getLocal(`r`),d=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_add`,o,c,u),a.call(r+`_add`,s,l,d))}function s(){let t=e.addFunction(n+`_timesScalar`);t.addParam(`x`,`i32`),t.addParam(`scalar`,`i32`),t.addParam(`scalarLen`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_timesScalar`,o,a.getLocal(`scalar`),a.getLocal(`scalarLen`),c),a.call(r+`_timesScalar`,s,a.getLocal(`scalar`),a.getLocal(`scalarLen`),l))}function c(){let t=e.addFunction(n+`_sub`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`y`),l=a.i32_add(a.getLocal(`y`),a.i32_const(i)),u=a.getLocal(`r`),d=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_sub`,o,c,u),a.call(r+`_sub`,s,l,d))}function l(){let t=e.addFunction(n+`_neg`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_neg`,o,c),a.call(r+`_neg`,s,l))}function u(){let t=e.addFunction(n+`_conjugate`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_copy`,o,c),a.call(r+`_neg`,s,l))}function d(){let t=e.addFunction(n+`_isNegative`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.if(a.call(r+`_isZero`,s),a.ret(a.call(r+`_isNegative`,o))),a.ret(a.call(r+`_isNegative`,s)))}function f(){let a=e.addFunction(n+`_mul`);a.addParam(`x`,`i32`),a.addParam(`y`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.getLocal(`y`),u=o.i32_add(o.getLocal(`y`),o.i32_const(i)),d=o.getLocal(`r`),f=o.i32_add(o.getLocal(`r`),o.i32_const(i)),p=o.i32_const(e.alloc(i)),m=o.i32_const(e.alloc(i)),h=o.i32_const(e.alloc(i)),g=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_mul`,s,l,p),o.call(r+`_mul`,c,u,m),o.call(r+`_add`,s,c,h),o.call(r+`_add`,l,u,g),o.call(r+`_mul`,h,g,h),o.call(t,m,d),o.call(r+`_add`,p,d,d),o.call(r+`_add`,p,m,f),o.call(r+`_sub`,h,f,f))}function p(){let t=e.addFunction(n+`_mul1`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`y`),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_mul`,o,c,l),a.call(r+`_mul`,s,c,u))}function m(){let a=e.addFunction(n+`_square`);a.addParam(`x`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.getLocal(`r`),u=o.i32_add(o.getLocal(`r`),o.i32_const(i)),d=o.i32_const(e.alloc(i)),f=o.i32_const(e.alloc(i)),p=o.i32_const(e.alloc(i)),m=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_mul`,s,c,d),o.call(r+`_add`,s,c,f),o.call(t,c,p),o.call(r+`_add`,s,p,p),o.call(t,d,m),o.call(r+`_add`,m,d,m),o.call(r+`_mul`,f,p,l),o.call(r+`_sub`,l,m,l),o.call(r+`_add`,d,d,u))}function h(){let t=e.addFunction(n+`_toMontgomery`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_toMontgomery`,o,c),a.call(r+`_toMontgomery`,s,l))}function g(){let t=e.addFunction(n+`_fromMontgomery`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_fromMontgomery`,o,c),a.call(r+`_fromMontgomery`,s,l))}function _(){let t=e.addFunction(n+`_copy`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`r`),l=a.i32_add(a.getLocal(`r`),a.i32_const(i));t.addCode(a.call(r+`_copy`,o,c),a.call(r+`_copy`,s,l))}function v(){let t=e.addFunction(n+`_zero`);t.addParam(`x`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.call(r+`_zero`,o),a.call(r+`_zero`,s))}function y(){let t=e.addFunction(n+`_one`);t.addParam(`x`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.call(r+`_one`,o),a.call(r+`_zero`,s))}function b(){let t=e.addFunction(n+`_eq`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.getLocal(`y`),l=a.i32_add(a.getLocal(`y`),a.i32_const(i));t.addCode(a.i32_and(a.call(r+`_eq`,o,c),a.call(r+`_eq`,s,l)))}function x(){let t=e.addFunction(n+`_isZero`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.i32_and(a.call(r+`_isZero`,o),a.call(r+`_isZero`,s)))}function S(){let a=e.addFunction(n+`_inverse`);a.addParam(`x`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.getLocal(`r`),u=o.i32_add(o.getLocal(`r`),o.i32_const(i)),d=o.i32_const(e.alloc(i)),f=o.i32_const(e.alloc(i)),p=o.i32_const(e.alloc(i)),m=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_square`,s,d),o.call(r+`_square`,c,f),o.call(t,f,p),o.call(r+`_sub`,d,p,p),o.call(r+`_inverse`,p,m),o.call(r+`_mul`,s,m,l),o.call(r+`_mul`,c,m,u),o.call(r+`_neg`,u,u))}function C(){let t=e.addFunction(n+`_sign`);t.addParam(`x`,`i32`),t.addLocal(`s`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.setLocal(`s`,a.call(r+`_sign`,s)),a.if(a.getLocal(`s`),a.ret(a.getLocal(`s`))),a.ret(a.call(r+`_sign`,o)))}function w(){let t=e.addFunction(n+`_isOne`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i));t.addCode(a.ret(a.i32_and(a.call(r+`_isOne`,o),a.call(r+`_isZero`,s))))}function T(){let t=e.addFunction(n+`_sqrt`);t.addParam(`a`,`i32`),t.addParam(`pr`,`i32`);let o=t.getCodeBuilder(),s=o.i32_const(e.alloc(kt.bigInt2BytesLE((BigInt(a||0)-3n)/4n,i))),c=o.i32_const(e.alloc(kt.bigInt2BytesLE((BigInt(a||0)-1n)/2n,i))),l=o.getLocal(`a`),u=o.i32_const(e.alloc(i*2)),d=o.i32_const(e.alloc(i*2)),f=o.i32_const(e.alloc(i*2)),p=e.alloc(i*2),m=o.i32_const(p),h=o.i32_const(p),g=o.i32_const(p+i),_=o.i32_const(e.alloc(i*2)),v=o.i32_const(e.alloc(i*2));t.addCode(o.call(n+`_one`,m),o.call(n+`_neg`,m,m),o.call(n+`_exp`,l,s,o.i32_const(i),u),o.call(n+`_square`,u,d),o.call(n+`_mul`,l,d,d),o.call(n+`_conjugate`,d,f),o.call(n+`_mul`,f,d,f),o.if(o.call(n+`_eq`,f,m),o.unreachable()),o.call(n+`_mul`,u,l,_),o.if(o.call(n+`_eq`,d,m),[...o.call(r+`_zero`,h),...o.call(r+`_one`,g),...o.call(n+`_mul`,m,_,o.getLocal(`pr`))],[...o.call(n+`_one`,v),...o.call(n+`_add`,v,d,v),...o.call(n+`_exp`,v,c,o.i32_const(i),v),...o.call(n+`_mul`,v,_,o.getLocal(`pr`))]))}function E(){let t=e.addFunction(n+`_isSquare`);t.addParam(`a`,`i32`),t.setReturnType(`i32`);let r=t.getCodeBuilder(),o=r.i32_const(e.alloc(kt.bigInt2BytesLE((BigInt(a||0)-3n)/4n,i))),s=r.getLocal(`a`),c=r.i32_const(e.alloc(i*2)),l=r.i32_const(e.alloc(i*2)),u=r.i32_const(e.alloc(i*2)),d=e.alloc(i*2),f=r.i32_const(d);t.addCode(r.call(n+`_one`,f),r.call(n+`_neg`,f,f),r.call(n+`_exp`,s,o,r.i32_const(i),c),r.call(n+`_square`,c,l),r.call(n+`_mul`,s,l,l),r.call(n+`_conjugate`,l,u),r.call(n+`_mul`,u,l,u),r.if(r.call(n+`_eq`,u,f),r.ret(r.i32_const(0))),r.ret(r.i32_const(1)))}return x(),w(),v(),y(),_(),f(),p(),m(),o(),c(),l(),u(),h(),g(),b(),S(),s(),C(),d(),e.exportFunction(n+`_isZero`),e.exportFunction(n+`_isOne`),e.exportFunction(n+`_zero`),e.exportFunction(n+`_one`),e.exportFunction(n+`_copy`),e.exportFunction(n+`_mul`),e.exportFunction(n+`_mul1`),e.exportFunction(n+`_square`),e.exportFunction(n+`_add`),e.exportFunction(n+`_sub`),e.exportFunction(n+`_neg`),e.exportFunction(n+`_sign`),e.exportFunction(n+`_conjugate`),e.exportFunction(n+`_fromMontgomery`),e.exportFunction(n+`_toMontgomery`),e.exportFunction(n+`_eq`),e.exportFunction(n+`_inverse`),Ot(e,n),Dt(e,n+`_exp`,i*2,n+`_mul`,n+`_square`,n+`_copy`,n+`_one`),T(),E(),e.exportFunction(n+`_exp`),e.exportFunction(n+`_timesScalar`),e.exportFunction(n+`_batchInverse`),e.exportFunction(n+`_sqrt`),e.exportFunction(n+`_isSquare`),e.exportFunction(n+`_isNegative`),n},jt=Ve,Mt=He,Nt=function(e,t,n,r){if(e.modules[n])return n;let i=e.modules[r].n64*8;e.modules[n]={n64:e.modules[r].n64*3};function a(){let t=e.addFunction(n+`_add`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`y`),u=a.i32_add(a.getLocal(`y`),a.i32_const(i)),d=a.i32_add(a.getLocal(`y`),a.i32_const(2*i)),f=a.getLocal(`r`),p=a.i32_add(a.getLocal(`r`),a.i32_const(i)),m=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_add`,o,l,f),a.call(r+`_add`,s,u,p),a.call(r+`_add`,c,d,m))}function o(){let t=e.addFunction(n+`_timesScalar`);t.addParam(`x`,`i32`),t.addParam(`scalar`,`i32`),t.addParam(`scalarLen`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i)),d=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_timesScalar`,o,a.getLocal(`scalar`),a.getLocal(`scalarLen`),l),a.call(r+`_timesScalar`,s,a.getLocal(`scalar`),a.getLocal(`scalarLen`),u),a.call(r+`_timesScalar`,c,a.getLocal(`scalar`),a.getLocal(`scalarLen`),d))}function s(){let t=e.addFunction(n+`_sub`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`y`),u=a.i32_add(a.getLocal(`y`),a.i32_const(i)),d=a.i32_add(a.getLocal(`y`),a.i32_const(2*i)),f=a.getLocal(`r`),p=a.i32_add(a.getLocal(`r`),a.i32_const(i)),m=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_sub`,o,l,f),a.call(r+`_sub`,s,u,p),a.call(r+`_sub`,c,d,m))}function c(){let t=e.addFunction(n+`_neg`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i)),d=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_neg`,o,l),a.call(r+`_neg`,s,u),a.call(r+`_neg`,c,d))}function l(){let t=e.addFunction(n+`_isNegative`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i));t.addCode(a.if(a.call(r+`_isZero`,c),a.if(a.call(r+`_isZero`,s),a.ret(a.call(r+`_isNegative`,o)),a.ret(a.call(r+`_isNegative`,s)))),a.ret(a.call(r+`_isNegative`,c)))}function u(){let a=e.addFunction(n+`_mul`);a.addParam(`x`,`i32`),a.addParam(`y`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.i32_add(o.getLocal(`x`),o.i32_const(2*i)),u=o.getLocal(`y`),d=o.i32_add(o.getLocal(`y`),o.i32_const(i)),f=o.i32_add(o.getLocal(`y`),o.i32_const(2*i)),p=o.getLocal(`r`),m=o.i32_add(o.getLocal(`r`),o.i32_const(i)),h=o.i32_add(o.getLocal(`r`),o.i32_const(2*i)),g=o.i32_const(e.alloc(i)),_=o.i32_const(e.alloc(i)),v=o.i32_const(e.alloc(i)),y=o.i32_const(e.alloc(i)),b=o.i32_const(e.alloc(i)),x=o.i32_const(e.alloc(i)),S=o.i32_const(e.alloc(i)),C=o.i32_const(e.alloc(i)),w=o.i32_const(e.alloc(i)),T=o.i32_const(e.alloc(i)),E=o.i32_const(e.alloc(i)),D=o.i32_const(e.alloc(i)),O=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_mul`,s,u,g),o.call(r+`_mul`,c,d,_),o.call(r+`_mul`,l,f,v),o.call(r+`_add`,s,c,y),o.call(r+`_add`,u,d,b),o.call(r+`_add`,s,l,x),o.call(r+`_add`,u,f,S),o.call(r+`_add`,c,l,C),o.call(r+`_add`,d,f,w),o.call(r+`_add`,g,_,T),o.call(r+`_add`,g,v,E),o.call(r+`_add`,_,v,D),o.call(r+`_mul`,C,w,p),o.call(r+`_sub`,p,D,p),o.call(t,p,p),o.call(r+`_add`,g,p,p),o.call(r+`_mul`,y,b,m),o.call(r+`_sub`,m,T,m),o.call(t,v,O),o.call(r+`_add`,m,O,m),o.call(r+`_mul`,x,S,h),o.call(r+`_sub`,h,E,h),o.call(r+`_add`,h,_,h))}function d(){let a=e.addFunction(n+`_square`);a.addParam(`x`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.i32_add(o.getLocal(`x`),o.i32_const(2*i)),u=o.getLocal(`r`),d=o.i32_add(o.getLocal(`r`),o.i32_const(i)),f=o.i32_add(o.getLocal(`r`),o.i32_const(2*i)),p=o.i32_const(e.alloc(i)),m=o.i32_const(e.alloc(i)),h=o.i32_const(e.alloc(i)),g=o.i32_const(e.alloc(i)),_=o.i32_const(e.alloc(i)),v=o.i32_const(e.alloc(i)),y=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_square`,s,p),o.call(r+`_mul`,s,c,m),o.call(r+`_add`,m,m,h),o.call(r+`_sub`,s,c,g),o.call(r+`_add`,g,l,g),o.call(r+`_square`,g,g),o.call(r+`_mul`,c,l,_),o.call(r+`_add`,_,_,v),o.call(r+`_square`,l,y),o.call(t,v,u),o.call(r+`_add`,p,u,u),o.call(t,y,d),o.call(r+`_add`,h,d,d),o.call(r+`_add`,p,y,f),o.call(r+`_sub`,v,f,f),o.call(r+`_add`,g,f,f),o.call(r+`_add`,h,f,f))}function f(){let t=e.addFunction(n+`_toMontgomery`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i)),d=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_toMontgomery`,o,l),a.call(r+`_toMontgomery`,s,u),a.call(r+`_toMontgomery`,c,d))}function p(){let t=e.addFunction(n+`_fromMontgomery`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i)),d=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_fromMontgomery`,o,l),a.call(r+`_fromMontgomery`,s,u),a.call(r+`_fromMontgomery`,c,d))}function m(){let t=e.addFunction(n+`_copy`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`r`),u=a.i32_add(a.getLocal(`r`),a.i32_const(i)),d=a.i32_add(a.getLocal(`r`),a.i32_const(2*i));t.addCode(a.call(r+`_copy`,o,l),a.call(r+`_copy`,s,u),a.call(r+`_copy`,c,d))}function h(){let t=e.addFunction(n+`_zero`);t.addParam(`x`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i));t.addCode(a.call(r+`_zero`,o),a.call(r+`_zero`,s),a.call(r+`_zero`,c))}function g(){let t=e.addFunction(n+`_one`);t.addParam(`x`,`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i));t.addCode(a.call(r+`_one`,o),a.call(r+`_zero`,s),a.call(r+`_zero`,c))}function _(){let t=e.addFunction(n+`_eq`);t.addParam(`x`,`i32`),t.addParam(`y`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i)),l=a.getLocal(`y`),u=a.i32_add(a.getLocal(`y`),a.i32_const(i)),d=a.i32_add(a.getLocal(`y`),a.i32_const(2*i));t.addCode(a.i32_and(a.i32_and(a.call(r+`_eq`,o,l),a.call(r+`_eq`,s,u)),a.call(r+`_eq`,c,d)))}function v(){let t=e.addFunction(n+`_isZero`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i));t.addCode(a.i32_and(a.i32_and(a.call(r+`_isZero`,o),a.call(r+`_isZero`,s)),a.call(r+`_isZero`,c)))}function y(){let a=e.addFunction(n+`_inverse`);a.addParam(`x`,`i32`),a.addParam(`r`,`i32`);let o=a.getCodeBuilder(),s=o.getLocal(`x`),c=o.i32_add(o.getLocal(`x`),o.i32_const(i)),l=o.i32_add(o.getLocal(`x`),o.i32_const(2*i)),u=o.getLocal(`r`),d=o.i32_add(o.getLocal(`r`),o.i32_const(i)),f=o.i32_add(o.getLocal(`r`),o.i32_const(2*i)),p=o.i32_const(e.alloc(i)),m=o.i32_const(e.alloc(i)),h=o.i32_const(e.alloc(i)),g=o.i32_const(e.alloc(i)),_=o.i32_const(e.alloc(i)),v=o.i32_const(e.alloc(i)),y=o.i32_const(e.alloc(i)),b=o.i32_const(e.alloc(i)),x=o.i32_const(e.alloc(i)),S=o.i32_const(e.alloc(i)),C=o.i32_const(e.alloc(i));a.addCode(o.call(r+`_square`,s,p),o.call(r+`_square`,c,m),o.call(r+`_square`,l,h),o.call(r+`_mul`,s,c,g),o.call(r+`_mul`,s,l,_),o.call(r+`_mul`,c,l,v),o.call(t,v,y),o.call(r+`_sub`,p,y,y),o.call(t,h,b),o.call(r+`_sub`,b,g,b),o.call(r+`_sub`,m,_,x),o.call(r+`_mul`,l,b,S),o.call(r+`_mul`,c,x,C),o.call(r+`_add`,S,C,S),o.call(t,S,S),o.call(r+`_mul`,s,y,C),o.call(r+`_add`,C,S,S),o.call(r+`_inverse`,S,S),o.call(r+`_mul`,S,y,u),o.call(r+`_mul`,S,b,d),o.call(r+`_mul`,S,x,f))}function b(){let t=e.addFunction(n+`_sign`);t.addParam(`x`,`i32`),t.addLocal(`s`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(2*i));t.addCode(a.setLocal(`s`,a.call(r+`_sign`,c)),a.if(a.getLocal(`s`),a.ret(a.getLocal(`s`))),a.setLocal(`s`,a.call(r+`_sign`,s)),a.if(a.getLocal(`s`),a.ret(a.getLocal(`s`))),a.ret(a.call(r+`_sign`,o)))}function x(){let t=e.addFunction(n+`_isOne`);t.addParam(`x`,`i32`),t.setReturnType(`i32`);let a=t.getCodeBuilder(),o=a.getLocal(`x`),s=a.i32_add(a.getLocal(`x`),a.i32_const(i)),c=a.i32_add(a.getLocal(`x`),a.i32_const(i*2));t.addCode(a.ret(a.i32_and(a.i32_and(a.call(r+`_isOne`,o),a.call(r+`_isZero`,s)),a.call(r+`_isZero`,c))))}return v(),x(),h(),g(),m(),u(),d(),a(),s(),c(),b(),f(),p(),_(),y(),o(),l(),e.exportFunction(n+`_isZero`),e.exportFunction(n+`_isOne`),e.exportFunction(n+`_zero`),e.exportFunction(n+`_one`),e.exportFunction(n+`_copy`),e.exportFunction(n+`_mul`),e.exportFunction(n+`_square`),e.exportFunction(n+`_add`),e.exportFunction(n+`_sub`),e.exportFunction(n+`_neg`),e.exportFunction(n+`_sign`),e.exportFunction(n+`_fromMontgomery`),e.exportFunction(n+`_toMontgomery`),e.exportFunction(n+`_eq`),e.exportFunction(n+`_inverse`),Mt(e,n),jt(e,n+`_exp`,i*3,n+`_mul`,n+`_square`,n+`_copy`,n+`_one`),e.exportFunction(n+`_exp`),e.exportFunction(n+`_timesScalar`),e.exportFunction(n+`_batchInverse`),e.exportFunction(n+`_isNegative`),n},Pt=function(e,t,n,r,i,a,o,s){let c=e.addFunction(t);c.addParam(`base`,`i32`),c.addParam(`scalar`,`i32`),c.addParam(`scalarLength`,`i32`),c.addParam(`r`,`i32`),c.addLocal(`old0`,`i32`),c.addLocal(`nbits`,`i32`),c.addLocal(`i`,`i32`),c.addLocal(`last`,`i32`),c.addLocal(`cur`,`i32`),c.addLocal(`carry`,`i32`),c.addLocal(`p`,`i32`);let l=c.getCodeBuilder(),u=l.i32_const(e.alloc(n));function d(e){return l.i32_and(l.i32_shr_u(l.i32_load(l.i32_add(l.getLocal(`scalar`),l.i32_and(l.i32_shr_u(e,l.i32_const(3)),l.i32_const(4294967292)))),l.i32_and(e,l.i32_const(31))),l.i32_const(1))}function f(e){return[...l.i32_store8(l.getLocal(`p`),l.i32_const(e)),...l.setLocal(`p`,l.i32_add(l.getLocal(`p`),l.i32_const(1)))]}c.addCode(l.if(l.i32_eqz(l.getLocal(`scalarLength`)),[...l.call(s,l.getLocal(`r`)),...l.ret([])]),l.setLocal(`nbits`,l.i32_shl(l.getLocal(`scalarLength`),l.i32_const(3))),l.setLocal(`old0`,l.i32_load(l.i32_const(0))),l.setLocal(`p`,l.getLocal(`old0`)),l.i32_store(l.i32_const(0),l.i32_and(l.i32_add(l.i32_add(l.getLocal(`old0`),l.i32_const(32)),l.getLocal(`nbits`)),l.i32_const(4294967288))),l.setLocal(`i`,l.i32_const(1)),l.setLocal(`last`,d(l.i32_const(0))),l.setLocal(`carry`,l.i32_const(0)),l.block(l.loop(l.br_if(1,l.i32_eq(l.getLocal(`i`),l.getLocal(`nbits`))),l.setLocal(`cur`,d(l.getLocal(`i`))),l.if(l.getLocal(`last`),l.if(l.getLocal(`cur`),l.if(l.getLocal(`carry`),[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(1)),...f(1)],[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(1)),...f(255)]),l.if(l.getLocal(`carry`),[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(1)),...f(255)],[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(0)),...f(1)])),l.if(l.getLocal(`cur`),l.if(l.getLocal(`carry`),[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(1)),...f(0)],[...l.setLocal(`last`,l.i32_const(1)),...l.setLocal(`carry`,l.i32_const(0)),...f(0)]),l.if(l.getLocal(`carry`),[...l.setLocal(`last`,l.i32_const(1)),...l.setLocal(`carry`,l.i32_const(0)),...f(0)],[...l.setLocal(`last`,l.i32_const(0)),...l.setLocal(`carry`,l.i32_const(0)),...f(0)]))),l.setLocal(`i`,l.i32_add(l.getLocal(`i`),l.i32_const(1))),l.br(0))),l.if(l.getLocal(`last`),l.if(l.getLocal(`carry`),[...f(255),...f(0),...f(1)],[...f(1)]),l.if(l.getLocal(`carry`),[...f(0),...f(1)])),l.setLocal(`p`,l.i32_sub(l.getLocal(`p`),l.i32_const(1))),l.call(o,l.getLocal(`base`),u),l.call(s,l.getLocal(`r`)),l.block(l.loop(l.call(i,l.getLocal(`r`),l.getLocal(`r`)),l.setLocal(`cur`,l.i32_load8_u(l.getLocal(`p`))),l.if(l.getLocal(`cur`),l.if(l.i32_eq(l.getLocal(`cur`),l.i32_const(1)),l.call(r,l.getLocal(`r`),u,l.getLocal(`r`)),l.call(a,l.getLocal(`r`),u,l.getLocal(`r`)))),l.br_if(1,l.i32_eq(l.getLocal(`old0`),l.getLocal(`p`))),l.setLocal(`p`,l.i32_sub(l.getLocal(`p`),l.i32_const(1))),l.br(0))),l.i32_store(l.i32_const(0),l.getLocal(`old0`)))},Ft=function(e,t,n,r,i){let a=e.modules[t].n64*8;function o(){let t=e.addFunction(n+`_getChunk`);t.addParam(`pScalar`,`i32`),t.addParam(`scalarSize`,`i32`),t.addParam(`startBit`,`i32`),t.addParam(`chunkSize`,`i32`),t.addLocal(`bitsToEnd`,`i32`),t.addLocal(`mask`,`i32`),t.setReturnType(`i32`);let r=t.getCodeBuilder();t.addCode(r.setLocal(`bitsToEnd`,r.i32_sub(r.i32_mul(r.getLocal(`scalarSize`),r.i32_const(8)),r.getLocal(`startBit`))),r.if(r.i32_gt_s(r.getLocal(`chunkSize`),r.getLocal(`bitsToEnd`)),r.setLocal(`mask`,r.i32_sub(r.i32_shl(r.i32_const(1),r.getLocal(`bitsToEnd`)),r.i32_const(1))),r.setLocal(`mask`,r.i32_sub(r.i32_shl(r.i32_const(1),r.getLocal(`chunkSize`)),r.i32_const(1)))),r.i32_and(r.i32_shr_u(r.i32_load(r.i32_add(r.getLocal(`pScalar`),r.i32_shr_u(r.getLocal(`startBit`),r.i32_const(3))),0,0),r.i32_and(r.getLocal(`startBit`),r.i32_const(7))),r.getLocal(`mask`)))}function s(){let o=e.addFunction(n+`_chunk`);o.addParam(`pBases`,`i32`),o.addParam(`pScalars`,`i32`),o.addParam(`scalarSize`,`i32`),o.addParam(`n`,`i32`),o.addParam(`startBit`,`i32`),o.addParam(`chunkSize`,`i32`),o.addParam(`pr`,`i32`),o.addLocal(`nChunks`,`i32`),o.addLocal(`itScalar`,`i32`),o.addLocal(`endScalar`,`i32`),o.addLocal(`itBase`,`i32`),o.addLocal(`i`,`i32`),o.addLocal(`j`,`i32`),o.addLocal(`nTable`,`i32`),o.addLocal(`pTable`,`i32`),o.addLocal(`idx`,`i32`),o.addLocal(`pIdxTable`,`i32`);let s=o.getCodeBuilder();o.addCode(s.if(s.i32_eqz(s.getLocal(`n`)),[...s.call(t+`_zero`,s.getLocal(`pr`)),...s.ret([])]),s.setLocal(`nTable`,s.i32_shl(s.i32_const(1),s.getLocal(`chunkSize`))),s.setLocal(`pTable`,s.i32_load(s.i32_const(0))),s.i32_store(s.i32_const(0),s.i32_add(s.getLocal(`pTable`),s.i32_mul(s.getLocal(`nTable`),s.i32_const(a)))),s.setLocal(`j`,s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`j`),s.getLocal(`nTable`))),s.call(t+`_zero`,s.i32_add(s.getLocal(`pTable`),s.i32_mul(s.getLocal(`j`),s.i32_const(a)))),s.setLocal(`j`,s.i32_add(s.getLocal(`j`),s.i32_const(1))),s.br(0))),s.setLocal(`itBase`,s.getLocal(`pBases`)),s.setLocal(`itScalar`,s.getLocal(`pScalars`)),s.setLocal(`endScalar`,s.i32_add(s.getLocal(`pScalars`),s.i32_mul(s.getLocal(`n`),s.getLocal(`scalarSize`)))),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(`itScalar`),s.getLocal(`endScalar`))),s.setLocal(`idx`,s.call(n+`_getChunk`,s.getLocal(`itScalar`),s.getLocal(`scalarSize`),s.getLocal(`startBit`),s.getLocal(`chunkSize`))),s.if(s.getLocal(`idx`),[...s.setLocal(`pIdxTable`,s.i32_add(s.getLocal(`pTable`),s.i32_mul(s.i32_sub(s.getLocal(`idx`),s.i32_const(1)),s.i32_const(a)))),...s.call(r,s.getLocal(`pIdxTable`),s.getLocal(`itBase`),s.getLocal(`pIdxTable`))]),s.setLocal(`itScalar`,s.i32_add(s.getLocal(`itScalar`),s.getLocal(`scalarSize`))),s.setLocal(`itBase`,s.i32_add(s.getLocal(`itBase`),s.i32_const(i))),s.br(0))),s.call(n+`_reduceTable`,s.getLocal(`pTable`),s.getLocal(`chunkSize`)),s.call(t+`_copy`,s.getLocal(`pTable`),s.getLocal(`pr`)),s.i32_store(s.i32_const(0),s.getLocal(`pTable`)))}function c(){let r=e.addFunction(n);r.addParam(`pBases`,`i32`),r.addParam(`pScalars`,`i32`),r.addParam(`scalarSize`,`i32`),r.addParam(`n`,`i32`),r.addParam(`pr`,`i32`),r.addLocal(`chunkSize`,`i32`),r.addLocal(`nChunks`,`i32`),r.addLocal(`itScalar`,`i32`),r.addLocal(`endScalar`,`i32`),r.addLocal(`itBase`,`i32`),r.addLocal(`itBit`,`i32`),r.addLocal(`i`,`i32`),r.addLocal(`j`,`i32`),r.addLocal(`nTable`,`i32`),r.addLocal(`pTable`,`i32`),r.addLocal(`idx`,`i32`),r.addLocal(`pIdxTable`,`i32`);let i=r.getCodeBuilder(),o=i.i32_const(e.alloc(a)),s=e.alloc([17,17,17,17,17,17,17,17,17,17,16,16,15,14,13,13,12,11,10,9,8,7,7,6,5,4,3,2,1,1,1,1]);r.addCode(i.call(t+`_zero`,i.getLocal(`pr`)),i.if(i.i32_eqz(i.getLocal(`n`)),i.ret([])),i.setLocal(`chunkSize`,i.i32_load8_u(i.i32_clz(i.getLocal(`n`)),s)),i.setLocal(`nChunks`,i.i32_add(i.i32_div_u(i.i32_sub(i.i32_shl(i.getLocal(`scalarSize`),i.i32_const(3)),i.i32_const(1)),i.getLocal(`chunkSize`)),i.i32_const(1))),i.setLocal(`itBit`,i.i32_mul(i.i32_sub(i.getLocal(`nChunks`),i.i32_const(1)),i.getLocal(`chunkSize`))),i.block(i.loop(i.br_if(1,i.i32_lt_s(i.getLocal(`itBit`),i.i32_const(0))),i.if(i.i32_eqz(i.call(t+`_isZero`,i.getLocal(`pr`))),[...i.setLocal(`j`,i.i32_const(0)),...i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal(`j`),i.getLocal(`chunkSize`))),i.call(t+`_double`,i.getLocal(`pr`),i.getLocal(`pr`)),i.setLocal(`j`,i.i32_add(i.getLocal(`j`),i.i32_const(1))),i.br(0)))]),i.call(n+`_chunk`,i.getLocal(`pBases`),i.getLocal(`pScalars`),i.getLocal(`scalarSize`),i.getLocal(`n`),i.getLocal(`itBit`),i.getLocal(`chunkSize`),o),i.call(t+`_add`,i.getLocal(`pr`),o,i.getLocal(`pr`)),i.setLocal(`itBit`,i.i32_sub(i.getLocal(`itBit`),i.getLocal(`chunkSize`))),i.br(0))))}function l(){let r=e.addFunction(n+`_reduceTable`);r.addParam(`pTable`,`i32`),r.addParam(`p`,`i32`),r.addLocal(`half`,`i32`),r.addLocal(`it1`,`i32`),r.addLocal(`it2`,`i32`),r.addLocal(`pAcc`,`i32`);let i=r.getCodeBuilder();r.addCode(i.if(i.i32_eq(i.getLocal(`p`),i.i32_const(1)),i.ret([])),i.setLocal(`half`,i.i32_shl(i.i32_const(1),i.i32_sub(i.getLocal(`p`),i.i32_const(1)))),i.setLocal(`it1`,i.getLocal(`pTable`)),i.setLocal(`it2`,i.i32_add(i.getLocal(`pTable`),i.i32_mul(i.getLocal(`half`),i.i32_const(a)))),i.setLocal(`pAcc`,i.i32_sub(i.getLocal(`it2`),i.i32_const(a))),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal(`it1`),i.getLocal(`pAcc`))),i.call(t+`_add`,i.getLocal(`it1`),i.getLocal(`it2`),i.getLocal(`it1`)),i.call(t+`_add`,i.getLocal(`pAcc`),i.getLocal(`it2`),i.getLocal(`pAcc`)),i.setLocal(`it1`,i.i32_add(i.getLocal(`it1`),i.i32_const(a))),i.setLocal(`it2`,i.i32_add(i.getLocal(`it2`),i.i32_const(a))),i.br(0))),i.call(n+`_reduceTable`,i.getLocal(`pTable`),i.i32_sub(i.getLocal(`p`),i.i32_const(1))),i.setLocal(`p`,i.i32_sub(i.getLocal(`p`),i.i32_const(1))),i.block(i.loop(i.br_if(1,i.i32_eqz(i.getLocal(`p`))),i.call(t+`_double`,i.getLocal(`pAcc`),i.getLocal(`pAcc`)),i.setLocal(`p`,i.i32_sub(i.getLocal(`p`),i.i32_const(1))),i.br(0))),i.call(t+`_add`,i.getLocal(`pTable`),i.getLocal(`pAcc`),i.getLocal(`pTable`)))}o(),l(),s(),c(),e.exportFunction(n),e.exportFunction(n+`_chunk`)},It=Pt,Lt=We,Rt=Ft,zt=function(e,t,n,r){let i=e.modules[n].n64,a=i*8;if(e.modules[t])return t;e.modules[t]={n64:i*3};function o(){let r=e.addFunction(t+`_isZero`);r.addParam(`p1`,`i32`),r.setReturnType(`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_isZero`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))))}function s(){let r=e.addFunction(t+`_isZeroAffine`);r.addParam(`p1`,`i32`),r.setReturnType(`i32`);let i=r.getCodeBuilder();r.addCode(i.i32_and(i.call(n+`_isZero`,i.getLocal(`p1`)),i.call(n+`_isZero`,i.i32_add(i.getLocal(`p1`),i.i32_const(a)))))}function c(){let n=e.addFunction(t+`_copy`);n.addParam(`ps`,`i32`),n.addParam(`pd`,`i32`);let r=n.getCodeBuilder();for(let e=0;e<i*3;e++)n.addCode(r.i64_store(r.getLocal(`pd`),e*8,r.i64_load(r.getLocal(`ps`),e*8)))}function l(){let n=e.addFunction(t+`_copyAffine`);n.addParam(`ps`,`i32`),n.addParam(`pd`,`i32`);let r=n.getCodeBuilder();for(let e=0;e<i*2;e++)n.addCode(r.i64_store(r.getLocal(`pd`),e*8,r.i64_load(r.getLocal(`ps`),e*8)))}function u(){let r=e.addFunction(t+`_zero`);r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_zero`,i.getLocal(`pr`))),r.addCode(i.call(n+`_one`,i.i32_add(i.getLocal(`pr`),i.i32_const(a)))),r.addCode(i.call(n+`_zero`,i.i32_add(i.getLocal(`pr`),i.i32_const(a*2))))}function d(){let r=e.addFunction(t+`_zeroAffine`);r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_zero`,i.getLocal(`pr`))),r.addCode(i.call(n+`_zero`,i.i32_add(i.getLocal(`pr`),i.i32_const(a))))}function f(){let r=e.addFunction(t+`_eq`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.setReturnType(`i32`),r.addLocal(`z1`,`i32`),r.addLocal(`z2`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a));r.addCode(i.setLocal(`z1`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))));let c=i.getLocal(`z1`),l=i.getLocal(`p2`),u=i.i32_add(i.getLocal(`p2`),i.i32_const(a));r.addCode(i.setLocal(`z2`,i.i32_add(i.getLocal(`p2`),i.i32_const(a*2))));let d=i.getLocal(`z2`),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a)),_=i.i32_const(e.alloc(a)),v=i.i32_const(e.alloc(a)),y=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),i.ret(i.call(t+`_isZero`,i.getLocal(`p2`)))),i.if(i.call(t+`_isZero`,i.getLocal(`p2`)),i.ret(i.i32_const(0))),i.if(i.call(n+`_isOne`,c),i.ret(i.call(t+`_eqMixed`,i.getLocal(`p2`),i.getLocal(`p1`)))),i.if(i.call(n+`_isOne`,d),i.ret(i.call(t+`_eqMixed`,i.getLocal(`p1`),i.getLocal(`p2`)))),i.call(n+`_square`,c,f),i.call(n+`_square`,d,p),i.call(n+`_mul`,o,p,m),i.call(n+`_mul`,l,f,h),i.call(n+`_mul`,c,f,g),i.call(n+`_mul`,d,p,_),i.call(n+`_mul`,s,_,v),i.call(n+`_mul`,u,g,y),i.if(i.call(n+`_eq`,m,h),i.if(i.call(n+`_eq`,v,y),i.ret(i.i32_const(1)))),i.ret(i.i32_const(0)))}function p(){let r=e.addFunction(t+`_eqMixed`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.setReturnType(`i32`),r.addLocal(`z1`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a));r.addCode(i.setLocal(`z1`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))));let c=i.getLocal(`z1`),l=i.getLocal(`p2`),u=i.i32_add(i.getLocal(`p2`),i.i32_const(a)),d=i.i32_const(e.alloc(a)),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),i.ret(i.call(t+`_isZeroAffine`,i.getLocal(`p2`)))),i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p2`)),i.ret(i.i32_const(0))),i.if(i.call(n+`_isOne`,c),i.ret(i.call(t+`_eqAffine`,i.getLocal(`p1`),i.getLocal(`p2`)))),i.call(n+`_square`,c,d),i.call(n+`_mul`,l,d,f),i.call(n+`_mul`,c,d,p),i.call(n+`_mul`,u,p,m),i.if(i.call(n+`_eq`,o,f),i.if(i.call(n+`_eq`,s,m),i.ret(i.i32_const(1)))),i.ret(i.i32_const(0)))}function m(){let r=e.addFunction(t+`_double`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.i32_add(i.getLocal(`p1`),i.i32_const(a*2)),l=i.getLocal(`pr`),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),d=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a)),_=i.i32_const(e.alloc(a)),v=i.i32_const(e.alloc(a)),y=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),[...i.call(t+`_copy`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.ret([])]),i.if(i.call(n+`_isOne`,c),[...i.ret(i.call(t+`_doubleAffine`,i.getLocal(`p1`),i.getLocal(`pr`))),...i.ret([])]),i.call(n+`_square`,o,f),i.call(n+`_square`,s,p),i.call(n+`_square`,p,m),i.call(n+`_add`,o,p,h),i.call(n+`_square`,h,h),i.call(n+`_sub`,h,f,h),i.call(n+`_sub`,h,m,h),i.call(n+`_add`,h,h,h),i.call(n+`_add`,f,f,g),i.call(n+`_add`,g,f,g),i.call(n+`_square`,g,_),i.call(n+`_mul`,s,c,v),i.call(n+`_add`,h,h,l),i.call(n+`_sub`,_,l,l),i.call(n+`_add`,m,m,y),i.call(n+`_add`,y,y,y),i.call(n+`_add`,y,y,y),i.call(n+`_sub`,h,l,u),i.call(n+`_mul`,u,g,u),i.call(n+`_sub`,u,y,u),i.call(n+`_add`,v,v,d))}function h(){let r=e.addFunction(t+`_doubleAffine`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.getLocal(`pr`),l=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),d=i.i32_const(e.alloc(a)),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p1`)),[...i.call(t+`_toJacobian`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.ret([])]),i.call(n+`_square`,o,d),i.call(n+`_square`,s,f),i.call(n+`_square`,f,p),i.call(n+`_add`,o,f,m),i.call(n+`_square`,m,m),i.call(n+`_sub`,m,d,m),i.call(n+`_sub`,m,p,m),i.call(n+`_add`,m,m,m),i.call(n+`_add`,d,d,h),i.call(n+`_add`,h,d,h),i.call(n+`_add`,s,s,u),i.call(n+`_square`,h,c),i.call(n+`_sub`,c,m,c),i.call(n+`_sub`,c,m,c),i.call(n+`_add`,p,p,g),i.call(n+`_add`,g,g,g),i.call(n+`_add`,g,g,g),i.call(n+`_sub`,m,c,l),i.call(n+`_mul`,l,h,l),i.call(n+`_sub`,l,g,l))}function g(){let r=e.addFunction(t+`_eqAffine`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.setReturnType(`i32`),r.addLocal(`z1`,`i32`);let i=r.getCodeBuilder();r.addCode(i.ret(i.i32_and(i.call(n+`_eq`,i.getLocal(`p1`),i.getLocal(`p2`)),i.call(n+`_eq`,i.i32_add(i.getLocal(`p1`),i.i32_const(a)),i.i32_add(i.getLocal(`p2`),i.i32_const(a))))))}function _(){let r=e.addFunction(t+`_toMontgomery`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_toMontgomery`,i.getLocal(`p1`),i.getLocal(`pr`)));for(let e=1;e<3;e++)r.addCode(i.call(n+`_toMontgomery`,i.i32_add(i.getLocal(`p1`),i.i32_const(e*a)),i.i32_add(i.getLocal(`pr`),i.i32_const(e*a))))}function v(){let r=e.addFunction(t+`_toMontgomeryAffine`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_toMontgomery`,i.getLocal(`p1`),i.getLocal(`pr`)));for(let e=1;e<2;e++)r.addCode(i.call(n+`_toMontgomery`,i.i32_add(i.getLocal(`p1`),i.i32_const(e*a)),i.i32_add(i.getLocal(`pr`),i.i32_const(e*a))))}function y(){let r=e.addFunction(t+`_fromMontgomery`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_fromMontgomery`,i.getLocal(`p1`),i.getLocal(`pr`)));for(let e=1;e<3;e++)r.addCode(i.call(n+`_fromMontgomery`,i.i32_add(i.getLocal(`p1`),i.i32_const(e*a)),i.i32_add(i.getLocal(`pr`),i.i32_const(e*a))))}function b(){let r=e.addFunction(t+`_fromMontgomeryAffine`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder();r.addCode(i.call(n+`_fromMontgomery`,i.getLocal(`p1`),i.getLocal(`pr`)));for(let e=1;e<2;e++)r.addCode(i.call(n+`_fromMontgomery`,i.i32_add(i.getLocal(`p1`),i.i32_const(e*a)),i.i32_add(i.getLocal(`pr`),i.i32_const(e*a))))}function x(){let r=e.addFunction(t+`_add`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.addParam(`pr`,`i32`),r.addLocal(`z1`,`i32`),r.addLocal(`z2`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a));r.addCode(i.setLocal(`z1`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))));let c=i.getLocal(`z1`),l=i.getLocal(`p2`),u=i.i32_add(i.getLocal(`p2`),i.i32_const(a));r.addCode(i.setLocal(`z2`,i.i32_add(i.getLocal(`p2`),i.i32_const(a*2))));let d=i.getLocal(`z2`),f=i.getLocal(`pr`),p=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),m=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a)),_=i.i32_const(e.alloc(a)),v=i.i32_const(e.alloc(a)),y=i.i32_const(e.alloc(a)),b=i.i32_const(e.alloc(a)),x=i.i32_const(e.alloc(a)),S=i.i32_const(e.alloc(a)),C=i.i32_const(e.alloc(a)),w=i.i32_const(e.alloc(a)),T=i.i32_const(e.alloc(a)),E=i.i32_const(e.alloc(a)),D=i.i32_const(e.alloc(a)),O=i.i32_const(e.alloc(a)),k=i.i32_const(e.alloc(a)),A=i.i32_const(e.alloc(a)),j=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),[...i.call(t+`_copy`,i.getLocal(`p2`),i.getLocal(`pr`)),...i.ret([])]),i.if(i.call(t+`_isZero`,i.getLocal(`p2`)),[...i.call(t+`_copy`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.ret([])]),i.if(i.call(n+`_isOne`,c),[...i.call(t+`_addMixed`,l,o,f),...i.ret([])]),i.if(i.call(n+`_isOne`,d),[...i.call(t+`_addMixed`,o,l,f),...i.ret([])]),i.call(n+`_square`,c,h),i.call(n+`_square`,d,g),i.call(n+`_mul`,o,g,_),i.call(n+`_mul`,l,h,v),i.call(n+`_mul`,c,h,y),i.call(n+`_mul`,d,g,b),i.call(n+`_mul`,s,b,x),i.call(n+`_mul`,u,y,S),i.if(i.call(n+`_eq`,_,v),i.if(i.call(n+`_eq`,x,S),[...i.call(t+`_double`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.ret([])])),i.call(n+`_sub`,v,_,C),i.call(n+`_sub`,S,x,w),i.call(n+`_add`,C,C,T),i.call(n+`_square`,T,T),i.call(n+`_mul`,C,T,E),i.call(n+`_add`,w,w,D),i.call(n+`_mul`,_,T,k),i.call(n+`_square`,D,O),i.call(n+`_add`,k,k,A),i.call(n+`_sub`,O,E,f),i.call(n+`_sub`,f,A,f),i.call(n+`_mul`,x,E,j),i.call(n+`_add`,j,j,j),i.call(n+`_sub`,k,f,p),i.call(n+`_mul`,p,D,p),i.call(n+`_sub`,p,j,p),i.call(n+`_add`,c,d,m),i.call(n+`_square`,m,m),i.call(n+`_sub`,m,h,m),i.call(n+`_sub`,m,g,m),i.call(n+`_mul`,m,C,m))}function S(){let r=e.addFunction(t+`_addMixed`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.addParam(`pr`,`i32`),r.addLocal(`z1`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a));r.addCode(i.setLocal(`z1`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))));let c=i.getLocal(`z1`),l=i.getLocal(`p2`),u=i.i32_add(i.getLocal(`p2`),i.i32_const(a)),d=i.getLocal(`pr`),f=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),p=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),m=i.i32_const(e.alloc(a)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a)),_=i.i32_const(e.alloc(a)),v=i.i32_const(e.alloc(a)),y=i.i32_const(e.alloc(a)),b=i.i32_const(e.alloc(a)),x=i.i32_const(e.alloc(a)),S=i.i32_const(e.alloc(a)),C=i.i32_const(e.alloc(a)),w=i.i32_const(e.alloc(a)),T=i.i32_const(e.alloc(a)),E=i.i32_const(e.alloc(a)),D=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),[...i.call(t+`_copyAffine`,i.getLocal(`p2`),i.getLocal(`pr`)),...i.call(n+`_one`,i.i32_add(i.getLocal(`pr`),i.i32_const(a*2))),...i.ret([])]),i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p2`)),[...i.call(t+`_copy`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.ret([])]),i.if(i.call(n+`_isOne`,c),[...i.call(t+`_addAffine`,o,l,d),...i.ret([])]),i.call(n+`_square`,c,m),i.call(n+`_mul`,l,m,h),i.call(n+`_mul`,c,m,g),i.call(n+`_mul`,u,g,_),i.if(i.call(n+`_eq`,o,h),i.if(i.call(n+`_eq`,s,_),[...i.call(t+`_doubleAffine`,i.getLocal(`p2`),i.getLocal(`pr`)),...i.ret([])])),i.call(n+`_sub`,h,o,v),i.call(n+`_sub`,_,s,b),i.call(n+`_square`,v,y),i.call(n+`_add`,y,y,x),i.call(n+`_add`,x,x,x),i.call(n+`_mul`,v,x,S),i.call(n+`_add`,b,b,C),i.call(n+`_mul`,o,x,T),i.call(n+`_square`,C,w),i.call(n+`_add`,T,T,E),i.call(n+`_sub`,w,S,d),i.call(n+`_sub`,d,E,d),i.call(n+`_mul`,s,S,D),i.call(n+`_add`,D,D,D),i.call(n+`_sub`,T,d,f),i.call(n+`_mul`,f,C,f),i.call(n+`_sub`,f,D,f),i.call(n+`_add`,c,v,p),i.call(n+`_square`,p,p),i.call(n+`_sub`,p,m,p),i.call(n+`_sub`,p,y,p))}function C(){let r=e.addFunction(t+`_addAffine`);r.addParam(`p1`,`i32`),r.addParam(`p2`,`i32`),r.addParam(`pr`,`i32`),r.addLocal(`z1`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a));r.addCode(i.setLocal(`z1`,i.i32_add(i.getLocal(`p1`),i.i32_const(a*2))));let c=i.getLocal(`p2`),l=i.i32_add(i.getLocal(`p2`),i.i32_const(a)),u=i.getLocal(`pr`),d=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),f=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a)),h=i.i32_const(e.alloc(a)),g=i.i32_const(e.alloc(a)),_=i.i32_const(e.alloc(a)),v=i.i32_const(e.alloc(a)),y=i.i32_const(e.alloc(a)),b=i.i32_const(e.alloc(a)),x=i.i32_const(e.alloc(a)),S=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p1`)),[...i.call(t+`_copyAffine`,i.getLocal(`p2`),i.getLocal(`pr`)),...i.call(n+`_one`,i.i32_add(i.getLocal(`pr`),i.i32_const(a*2))),...i.ret([])]),i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p2`)),[...i.call(t+`_copyAffine`,i.getLocal(`p1`),i.getLocal(`pr`)),...i.call(n+`_one`,i.i32_add(i.getLocal(`pr`),i.i32_const(a*2))),...i.ret([])]),i.if(i.call(n+`_eq`,o,c),i.if(i.call(n+`_eq`,s,l),[...i.call(t+`_doubleAffine`,i.getLocal(`p2`),i.getLocal(`pr`)),...i.ret([])])),i.call(n+`_sub`,c,o,p),i.call(n+`_sub`,l,s,h),i.call(n+`_square`,p,m),i.call(n+`_add`,m,m,g),i.call(n+`_add`,g,g,g),i.call(n+`_mul`,p,g,_),i.call(n+`_add`,h,h,v),i.call(n+`_mul`,o,g,b),i.call(n+`_square`,v,y),i.call(n+`_add`,b,b,x),i.call(n+`_sub`,y,_,u),i.call(n+`_sub`,u,x,u),i.call(n+`_mul`,s,_,S),i.call(n+`_add`,S,S,S),i.call(n+`_sub`,b,u,d),i.call(n+`_mul`,d,v,d),i.call(n+`_sub`,d,S,d),i.call(n+`_add`,p,p,f))}function w(){let r=e.addFunction(t+`_neg`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.i32_add(i.getLocal(`p1`),i.i32_const(a*2)),l=i.getLocal(`pr`),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),d=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2));r.addCode(i.call(n+`_copy`,o,l),i.call(n+`_neg`,s,u),i.call(n+`_copy`,c,d))}function T(){let r=e.addFunction(t+`_negAffine`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.getLocal(`pr`),l=i.i32_add(i.getLocal(`pr`),i.i32_const(a));r.addCode(i.call(n+`_copy`,o,c),i.call(n+`_neg`,s,l))}function E(){let n=e.addFunction(t+`_sub`);n.addParam(`p1`,`i32`),n.addParam(`p2`,`i32`),n.addParam(`pr`,`i32`);let r=n.getCodeBuilder(),i=r.i32_const(e.alloc(a*3));n.addCode(r.call(t+`_neg`,r.getLocal(`p2`),i),r.call(t+`_add`,r.getLocal(`p1`),i,r.getLocal(`pr`)))}function D(){let n=e.addFunction(t+`_subMixed`);n.addParam(`p1`,`i32`),n.addParam(`p2`,`i32`),n.addParam(`pr`,`i32`);let r=n.getCodeBuilder(),i=r.i32_const(e.alloc(a*3));n.addCode(r.call(t+`_negAffine`,r.getLocal(`p2`),i),r.call(t+`_addMixed`,r.getLocal(`p1`),i,r.getLocal(`pr`)))}function O(){let n=e.addFunction(t+`_subAffine`);n.addParam(`p1`,`i32`),n.addParam(`p2`,`i32`),n.addParam(`pr`,`i32`);let r=n.getCodeBuilder(),i=r.i32_const(e.alloc(a*3));n.addCode(r.call(t+`_negAffine`,r.getLocal(`p2`),i),r.call(t+`_addAffine`,r.getLocal(`p1`),i,r.getLocal(`pr`)))}function k(){let r=e.addFunction(t+`_normalize`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.i32_add(i.getLocal(`p1`),i.i32_const(a*2)),l=i.getLocal(`pr`),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),d=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2)),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a)),m=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),i.call(t+`_zero`,i.getLocal(`pr`)),[...i.call(n+`_inverse`,c,f),...i.call(n+`_square`,f,p),...i.call(n+`_mul`,f,p,m),...i.call(n+`_mul`,o,p,l),...i.call(n+`_mul`,s,m,u),...i.call(n+`_one`,d)]))}function A(){let r=e.addFunction(t+`_toAffine`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.i32_add(i.getLocal(`p1`),i.i32_const(a*2)),l=i.getLocal(`pr`),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),d=i.i32_const(e.alloc(a)),f=i.i32_const(e.alloc(a)),p=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZero`,i.getLocal(`p1`)),[...i.call(n+`_zero`,l),...i.call(n+`_zero`,u)],[...i.call(n+`_inverse`,c,d),...i.call(n+`_square`,d,f),...i.call(n+`_mul`,d,f,p),...i.call(n+`_mul`,o,f,l),...i.call(n+`_mul`,s,p,u)]))}function j(){let r=e.addFunction(t+`_toJacobian`);r.addParam(`p1`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),o=i.getLocal(`p1`),s=i.i32_add(i.getLocal(`p1`),i.i32_const(a)),c=i.getLocal(`pr`),l=i.i32_add(i.getLocal(`pr`),i.i32_const(a)),u=i.i32_add(i.getLocal(`pr`),i.i32_const(a*2));r.addCode(i.if(i.call(t+`_isZeroAffine`,i.getLocal(`p1`)),i.call(t+`_zero`,i.getLocal(`pr`)),[...i.call(n+`_one`,u),...i.call(n+`_copy`,s,l),...i.call(n+`_copy`,o,c)]))}function M(){let r=e.addFunction(t+`_batchToAffine`);r.addParam(`pIn`,`i32`),r.addParam(`n`,`i32`),r.addParam(`pOut`,`i32`),r.addLocal(`pAux`,`i32`),r.addLocal(`itIn`,`i32`),r.addLocal(`itAux`,`i32`),r.addLocal(`itOut`,`i32`),r.addLocal(`i`,`i32`);let i=r.getCodeBuilder(),o=i.i32_const(e.alloc(a));r.addCode(i.setLocal(`pAux`,i.i32_load(i.i32_const(0))),i.i32_store(i.i32_const(0),i.i32_add(i.getLocal(`pAux`),i.i32_mul(i.getLocal(`n`),i.i32_const(a)))),i.call(n+`_batchInverse`,i.i32_add(i.getLocal(`pIn`),i.i32_const(a*2)),i.i32_const(a*3),i.getLocal(`n`),i.getLocal(`pAux`),i.i32_const(a)),i.setLocal(`itIn`,i.getLocal(`pIn`)),i.setLocal(`itAux`,i.getLocal(`pAux`)),i.setLocal(`itOut`,i.getLocal(`pOut`)),i.setLocal(`i`,i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal(`i`),i.getLocal(`n`))),i.if(i.call(n+`_isZero`,i.getLocal(`itAux`)),[...i.call(n+`_zero`,i.getLocal(`itOut`)),...i.call(n+`_zero`,i.i32_add(i.getLocal(`itOut`),i.i32_const(a)))],[...i.call(n+`_mul`,i.getLocal(`itAux`),i.i32_add(i.getLocal(`itIn`),i.i32_const(a)),o),...i.call(n+`_square`,i.getLocal(`itAux`),i.getLocal(`itAux`)),...i.call(n+`_mul`,i.getLocal(`itAux`),i.getLocal(`itIn`),i.getLocal(`itOut`)),...i.call(n+`_mul`,i.getLocal(`itAux`),o,i.i32_add(i.getLocal(`itOut`),i.i32_const(a)))]),i.setLocal(`itIn`,i.i32_add(i.getLocal(`itIn`),i.i32_const(a*3))),i.setLocal(`itOut`,i.i32_add(i.getLocal(`itOut`),i.i32_const(a*2))),i.setLocal(`itAux`,i.i32_add(i.getLocal(`itAux`),i.i32_const(a))),i.setLocal(`i`,i.i32_add(i.getLocal(`i`),i.i32_const(1))),i.br(0))),i.i32_store(i.i32_const(0),i.getLocal(`pAux`)))}function N(){let n=e.addFunction(t+`__reverseBytes`);n.addParam(`pIn`,`i32`),n.addParam(`n`,`i32`),n.addParam(`pOut`,`i32`),n.addLocal(`itOut`,`i32`),n.addLocal(`itIn`,`i32`);let r=n.getCodeBuilder();n.addCode(r.setLocal(`itOut`,r.i32_sub(r.i32_add(r.getLocal(`pOut`),r.getLocal(`n`)),r.i32_const(1))),r.setLocal(`itIn`,r.getLocal(`pIn`)),r.block(r.loop(r.br_if(1,r.i32_lt_s(r.getLocal(`itOut`),r.getLocal(`pOut`))),r.i32_store8(r.getLocal(`itOut`),r.i32_load8_u(r.getLocal(`itIn`))),r.setLocal(`itOut`,r.i32_sub(r.getLocal(`itOut`),r.i32_const(1))),r.setLocal(`itIn`,r.i32_add(r.getLocal(`itIn`),r.i32_const(1))),r.br(0))))}function P(){let r=e.addFunction(t+`_LEMtoC`);r.addParam(`pIn`,`i32`),r.addParam(`pOut`,`i32`);let i=r.getCodeBuilder(),o=i.i32_const(e.alloc(a));r.addCode(i.if(i.call(t+`_isZeroAffine`,i.getLocal(`pIn`)),[...i.call(n+`_zero`,i.getLocal(`pOut`)),...i.i32_store8(i.getLocal(`pOut`),i.i32_const(64)),...i.ret([])]),i.call(n+`_fromMontgomery`,i.getLocal(`pIn`),o),i.call(t+`__reverseBytes`,o,i.i32_const(a),i.getLocal(`pOut`)),i.if(i.i32_eq(i.call(n+`_sign`,i.i32_add(i.getLocal(`pIn`),i.i32_const(a))),i.i32_const(-1)),i.i32_store8(i.getLocal(`pOut`),i.i32_or(i.i32_load8_u(i.getLocal(`pOut`)),i.i32_const(128)))))}function F(){let n=e.addFunction(t+`_LEMtoU`);n.addParam(`pIn`,`i32`),n.addParam(`pOut`,`i32`);let r=n.getCodeBuilder(),i=e.alloc(a*2),o=r.i32_const(i),s=r.i32_const(i),c=r.i32_const(i+a);n.addCode(r.if(r.call(t+`_isZeroAffine`,r.getLocal(`pIn`)),[...r.call(t+`_zeroAffine`,r.getLocal(`pOut`)),...r.ret([])]),r.call(t+`_fromMontgomeryAffine`,r.getLocal(`pIn`),o),r.call(t+`__reverseBytes`,s,r.i32_const(a),r.getLocal(`pOut`)),r.call(t+`__reverseBytes`,c,r.i32_const(a),r.i32_add(r.getLocal(`pOut`),r.i32_const(a))))}function I(){let n=e.addFunction(t+`_UtoLEM`);n.addParam(`pIn`,`i32`),n.addParam(`pOut`,`i32`);let r=n.getCodeBuilder(),i=e.alloc(a*2),o=r.i32_const(i),s=r.i32_const(i),c=r.i32_const(i+a);n.addCode(r.if(r.i32_and(r.i32_load8_u(r.getLocal(`pIn`)),r.i32_const(64)),[...r.call(t+`_zeroAffine`,r.getLocal(`pOut`)),...r.ret([])]),r.call(t+`__reverseBytes`,r.getLocal(`pIn`),r.i32_const(a),s),r.call(t+`__reverseBytes`,r.i32_add(r.getLocal(`pIn`),r.i32_const(a)),r.i32_const(a),c),r.call(t+`_toMontgomeryAffine`,o,r.getLocal(`pOut`)))}function L(){let i=e.addFunction(t+`_CtoLEM`);i.addParam(`pIn`,`i32`),i.addParam(`pOut`,`i32`),i.addLocal(`firstByte`,`i32`),i.addLocal(`greatest`,`i32`);let o=i.getCodeBuilder(),s=e.alloc(a*2),c=o.i32_const(s),l=o.i32_const(s+a);i.addCode(o.setLocal(`firstByte`,o.i32_load8_u(o.getLocal(`pIn`))),o.if(o.i32_and(o.getLocal(`firstByte`),o.i32_const(64)),[...o.call(t+`_zeroAffine`,o.getLocal(`pOut`)),...o.ret([])]),o.setLocal(`greatest`,o.i32_and(o.getLocal(`firstByte`),o.i32_const(128))),o.call(n+`_copy`,o.getLocal(`pIn`),l),o.i32_store8(l,o.i32_and(o.getLocal(`firstByte`),o.i32_const(63))),o.call(t+`__reverseBytes`,l,o.i32_const(a),c),o.call(n+`_toMontgomery`,c,o.getLocal(`pOut`)),o.call(n+`_square`,o.getLocal(`pOut`),l),o.call(n+`_mul`,o.getLocal(`pOut`),l,l),o.call(n+`_add`,l,o.i32_const(r),l),o.call(n+`_sqrt`,l,l),o.call(n+`_neg`,l,c),o.if(o.i32_eq(o.call(n+`_sign`,l),o.i32_const(-1)),o.if(o.getLocal(`greatest`),o.call(n+`_copy`,l,o.i32_add(o.getLocal(`pOut`),o.i32_const(a))),o.call(n+`_neg`,l,o.i32_add(o.getLocal(`pOut`),o.i32_const(a)))),o.if(o.getLocal(`greatest`),o.call(n+`_neg`,l,o.i32_add(o.getLocal(`pOut`),o.i32_const(a))),o.call(n+`_copy`,l,o.i32_add(o.getLocal(`pOut`),o.i32_const(a))))))}function R(){let i=e.addFunction(t+`_inCurveAffine`);i.addParam(`pIn`,`i32`),i.setReturnType(`i32`);let o=i.getCodeBuilder(),s=o.getLocal(`pIn`),c=o.i32_add(o.getLocal(`pIn`),o.i32_const(a)),l=o.i32_const(e.alloc(a)),u=o.i32_const(e.alloc(a));i.addCode(o.call(n+`_square`,c,l),o.call(n+`_square`,s,u),o.call(n+`_mul`,s,u,u),o.call(n+`_add`,u,o.i32_const(r),u),o.ret(o.call(n+`_eq`,l,u)))}function z(){let n=e.addFunction(t+`_inCurve`);n.addParam(`pIn`,`i32`),n.setReturnType(`i32`);let r=n.getCodeBuilder(),i=r.i32_const(e.alloc(a*2));n.addCode(r.call(t+`_toAffine`,r.getLocal(`pIn`),i),r.ret(r.call(t+`_inCurveAffine`,i)))}return s(),o(),d(),u(),l(),c(),j(),g(),p(),f(),h(),m(),C(),S(),x(),T(),w(),O(),D(),E(),b(),y(),v(),_(),A(),R(),z(),M(),k(),N(),F(),P(),I(),L(),Lt(e,t+`_batchLEMtoU`,t+`_LEMtoU`,a*2,a*2),Lt(e,t+`_batchLEMtoC`,t+`_LEMtoC`,a*2,a),Lt(e,t+`_batchUtoLEM`,t+`_UtoLEM`,a*2,a*2),Lt(e,t+`_batchCtoLEM`,t+`_CtoLEM`,a,a*2,!0),Lt(e,t+`_batchToJacobian`,t+`_toJacobian`,a*2,a*3,!0),Rt(e,t,t+`_multiexp`,t+`_add`,a*3),Rt(e,t,t+`_multiexpAffine`,t+`_addMixed`,a*2),It(e,t+`_timesScalar`,a*3,t+`_add`,t+`_double`,t+`_sub`,t+`_copy`,t+`_zero`),It(e,t+`_timesScalarAffine`,a*2,t+`_addMixed`,t+`_double`,t+`_subMixed`,t+`_copyAffine`,t+`_zero`),e.exportFunction(t+`_isZero`),e.exportFunction(t+`_isZeroAffine`),e.exportFunction(t+`_eq`),e.exportFunction(t+`_eqMixed`),e.exportFunction(t+`_eqAffine`),e.exportFunction(t+`_copy`),e.exportFunction(t+`_copyAffine`),e.exportFunction(t+`_zero`),e.exportFunction(t+`_zeroAffine`),e.exportFunction(t+`_double`),e.exportFunction(t+`_doubleAffine`),e.exportFunction(t+`_add`),e.exportFunction(t+`_addMixed`),e.exportFunction(t+`_addAffine`),e.exportFunction(t+`_neg`),e.exportFunction(t+`_negAffine`),e.exportFunction(t+`_sub`),e.exportFunction(t+`_subMixed`),e.exportFunction(t+`_subAffine`),e.exportFunction(t+`_fromMontgomery`),e.exportFunction(t+`_fromMontgomeryAffine`),e.exportFunction(t+`_toMontgomery`),e.exportFunction(t+`_toMontgomeryAffine`),e.exportFunction(t+`_timesScalar`),e.exportFunction(t+`_timesScalarAffine`),e.exportFunction(t+`_normalize`),e.exportFunction(t+`_LEMtoU`),e.exportFunction(t+`_LEMtoC`),e.exportFunction(t+`_UtoLEM`),e.exportFunction(t+`_CtoLEM`),e.exportFunction(t+`_batchLEMtoU`),e.exportFunction(t+`_batchLEMtoC`),e.exportFunction(t+`_batchUtoLEM`),e.exportFunction(t+`_batchCtoLEM`),e.exportFunction(t+`_toAffine`),e.exportFunction(t+`_toJacobian`),e.exportFunction(t+`_batchToAffine`),e.exportFunction(t+`_batchToJacobian`),e.exportFunction(t+`_inCurve`),e.exportFunction(t+`_inCurveAffine`),t},{isOdd:Bt,modInv:Vt,modPow:Ht}=W,Ut=ze,Wt=function(e,t,n,r,i){let a=e.modules[r].n64*8,o=e.modules[n].n64*8,s=e.modules[r].q,c=s-1n,l=0;for(;!Bt(c);)l++,c>>=1n;let u=2n;for(;Ht(u,s>>1n,s)===1n;)u+=1n;let d=Array(l+1);d[l]=Ht(u,c,s);let f=l-1;for(;f>=0;)d[f]=Ht(d[f+1],2n,s),f--;let p=[],m=(1n<<BigInt(a*8))%s;for(let e=0;e<d.length;e++){let t=d[e]*m%s;p.push(...Ut.bigInt2BytesLE(t,a))}let h=e.alloc(p),g=Array(l+1);g[0]=1n;for(let e=1;e<=l;e++)g[e]=g[e-1]*2n;let _=[];for(let e=0;e<=l;e++){let t=Vt(g[e],s)*m%s;_.push(...Ut.bigInt2BytesLE(t,a))}let v=e.alloc(_),y=Ht(u,2n,s),b=[],x=[];for(let e=0;e<=l;e++){let t=Ht(y,2n**BigInt(e),s),n=Vt(s+1n-t,s);b.push(...Ut.bigInt2BytesLE(t*m%s,a)),x.push(...Ut.bigInt2BytesLE(n*m%s,a))}let S=e.alloc(b),C=e.alloc(x);function w(e){let t=0;for(let n=0;n<8;n++)e&1<<n&&(t|=128>>n);return t}let T=Array(256);for(let e=0;e<256;e++)T[e]=w(e);let E=e.alloc(T);function D(){let n=e.addFunction(t+`__log2`);n.addParam(`n`,`i32`),n.setReturnType(`i32`),n.addLocal(`bits`,`i32`),n.addLocal(`aux`,`i32`);let r=n.getCodeBuilder();n.addCode(r.setLocal(`aux`,r.i32_shr_u(r.getLocal(`n`),r.i32_const(1)))),n.addCode(r.setLocal(`bits`,r.i32_const(0))),n.addCode(r.block(r.loop(r.br_if(1,r.i32_eqz(r.getLocal(`aux`))),r.setLocal(`aux`,r.i32_shr_u(r.getLocal(`aux`),r.i32_const(1))),r.setLocal(`bits`,r.i32_add(r.getLocal(`bits`),r.i32_const(1))),r.br(0)))),n.addCode(r.if(r.i32_ne(r.getLocal(`n`),r.i32_shl(r.i32_const(1),r.getLocal(`bits`))),r.unreachable())),n.addCode(r.if(r.i32_gt_u(r.getLocal(`bits`),r.i32_const(l)),r.unreachable())),n.addCode(r.getLocal(`bits`))}function O(){let n=e.addFunction(t+`_fft`);n.addParam(`px`,`i32`),n.addParam(`n`,`i32`),n.addLocal(`bits`,`i32`);let i=n.getCodeBuilder(),o=i.i32_const(e.alloc(a));n.addCode(i.setLocal(`bits`,i.call(t+`__log2`,i.getLocal(`n`))),i.call(r+`_one`,o),i.call(t+`_rawfft`,i.getLocal(`px`),i.getLocal(`bits`),i.i32_const(0),o))}function k(){let n=e.addFunction(t+`_ifft`);n.addParam(`px`,`i32`),n.addParam(`n`,`i32`),n.addLocal(`bits`,`i32`),n.addLocal(`pInv2`,`i32`);let r=n.getCodeBuilder();n.addCode(r.setLocal(`bits`,r.call(t+`__log2`,r.getLocal(`n`))),r.setLocal(`pInv2`,r.i32_add(r.i32_const(v),r.i32_mul(r.getLocal(`bits`),r.i32_const(a)))),r.call(t+`_rawfft`,r.getLocal(`px`),r.getLocal(`bits`),r.i32_const(1),r.getLocal(`pInv2`)))}function A(){let s=e.addFunction(t+`_rawfft`);s.addParam(`px`,`i32`),s.addParam(`bits`,`i32`),s.addParam(`reverse`,`i32`),s.addParam(`mulFactor`,`i32`),s.addLocal(`s`,`i32`),s.addLocal(`k`,`i32`),s.addLocal(`j`,`i32`),s.addLocal(`m`,`i32`),s.addLocal(`mdiv2`,`i32`),s.addLocal(`n`,`i32`),s.addLocal(`pwm`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o)),d=c.i32_const(e.alloc(o));s.addCode(c.call(t+`__reversePermutation`,c.getLocal(`px`),c.getLocal(`bits`)),c.setLocal(`n`,c.i32_shl(c.i32_const(1),c.getLocal(`bits`))),c.setLocal(`s`,c.i32_const(1)),c.block(c.loop(c.br_if(1,c.i32_gt_u(c.getLocal(`s`),c.getLocal(`bits`))),c.setLocal(`m`,c.i32_shl(c.i32_const(1),c.getLocal(`s`))),c.setLocal(`pwm`,c.i32_add(c.i32_const(h),c.i32_mul(c.getLocal(`s`),c.i32_const(a)))),c.setLocal(`k`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_ge_u(c.getLocal(`k`),c.getLocal(`n`))),c.call(r+`_one`,l),c.setLocal(`mdiv2`,c.i32_shr_u(c.getLocal(`m`),c.i32_const(1))),c.setLocal(`j`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_ge_u(c.getLocal(`j`),c.getLocal(`mdiv2`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`px`),c.i32_mul(c.i32_add(c.getLocal(`k`),c.getLocal(`j`)),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`idx1`),c.i32_mul(c.getLocal(`mdiv2`),c.i32_const(o)))),c.call(i,c.getLocal(`idx2`),l,u),c.call(n+`_copy`,c.getLocal(`idx1`),d),c.call(n+`_add`,d,u,c.getLocal(`idx1`)),c.call(n+`_sub`,d,u,c.getLocal(`idx2`)),c.call(r+`_mul`,l,c.getLocal(`pwm`),l),c.setLocal(`j`,c.i32_add(c.getLocal(`j`),c.i32_const(1))),c.br(0))),c.setLocal(`k`,c.i32_add(c.getLocal(`k`),c.getLocal(`m`))),c.br(0))),c.setLocal(`s`,c.i32_add(c.getLocal(`s`),c.i32_const(1))),c.br(0))),c.call(t+`__fftFinal`,c.getLocal(`px`),c.getLocal(`bits`),c.getLocal(`reverse`),c.getLocal(`mulFactor`)))}function j(){let a=e.addFunction(t+`__fftFinal`);a.addParam(`px`,`i32`),a.addParam(`bits`,`i32`),a.addParam(`reverse`,`i32`),a.addParam(`mulFactor`,`i32`),a.addLocal(`n`,`i32`),a.addLocal(`ndiv2`,`i32`),a.addLocal(`pInv2`,`i32`),a.addLocal(`i`,`i32`),a.addLocal(`mask`,`i32`),a.addLocal(`idx1`,`i32`),a.addLocal(`idx2`,`i32`);let s=a.getCodeBuilder(),c=s.i32_const(e.alloc(o));a.addCode(s.if(s.i32_and(s.i32_eqz(s.getLocal(`reverse`)),s.call(r+`_isOne`,s.getLocal(`mulFactor`))),s.ret([])),s.setLocal(`n`,s.i32_shl(s.i32_const(1),s.getLocal(`bits`))),s.setLocal(`mask`,s.i32_sub(s.getLocal(`n`),s.i32_const(1))),s.setLocal(`i`,s.i32_const(1)),s.setLocal(`ndiv2`,s.i32_shr_u(s.getLocal(`n`),s.i32_const(1))),s.block(s.loop(s.br_if(1,s.i32_ge_u(s.getLocal(`i`),s.getLocal(`ndiv2`))),s.setLocal(`idx1`,s.i32_add(s.getLocal(`px`),s.i32_mul(s.getLocal(`i`),s.i32_const(o)))),s.setLocal(`idx2`,s.i32_add(s.getLocal(`px`),s.i32_mul(s.i32_sub(s.getLocal(`n`),s.getLocal(`i`)),s.i32_const(o)))),s.if(s.getLocal(`reverse`),s.if(s.call(r+`_isOne`,s.getLocal(`mulFactor`)),[...s.call(n+`_copy`,s.getLocal(`idx1`),c),...s.call(n+`_copy`,s.getLocal(`idx2`),s.getLocal(`idx1`)),...s.call(n+`_copy`,c,s.getLocal(`idx2`))],[...s.call(n+`_copy`,s.getLocal(`idx1`),c),...s.call(i,s.getLocal(`idx2`),s.getLocal(`mulFactor`),s.getLocal(`idx1`)),...s.call(i,c,s.getLocal(`mulFactor`),s.getLocal(`idx2`))]),s.if(s.call(r+`_isOne`,s.getLocal(`mulFactor`)),[],[...s.call(i,s.getLocal(`idx1`),s.getLocal(`mulFactor`),s.getLocal(`idx1`)),...s.call(i,s.getLocal(`idx2`),s.getLocal(`mulFactor`),s.getLocal(`idx2`))])),s.setLocal(`i`,s.i32_add(s.getLocal(`i`),s.i32_const(1))),s.br(0))),s.if(s.call(r+`_isOne`,s.getLocal(`mulFactor`)),[],[...s.call(i,s.getLocal(`px`),s.getLocal(`mulFactor`),s.getLocal(`px`)),...s.setLocal(`idx2`,s.i32_add(s.getLocal(`px`),s.i32_mul(s.getLocal(`ndiv2`),s.i32_const(o)))),...s.call(i,s.getLocal(`idx2`),s.getLocal(`mulFactor`),s.getLocal(`idx2`))]))}function M(){let r=e.addFunction(t+`__reversePermutation`);r.addParam(`px`,`i32`),r.addParam(`bits`,`i32`),r.addLocal(`n`,`i32`),r.addLocal(`i`,`i32`),r.addLocal(`ri`,`i32`),r.addLocal(`idx1`,`i32`),r.addLocal(`idx2`,`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(o));r.addCode(i.setLocal(`n`,i.i32_shl(i.i32_const(1),i.getLocal(`bits`))),i.setLocal(`i`,i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal(`i`),i.getLocal(`n`))),i.setLocal(`idx1`,i.i32_add(i.getLocal(`px`),i.i32_mul(i.getLocal(`i`),i.i32_const(o)))),i.setLocal(`ri`,i.call(t+`__rev`,i.getLocal(`i`),i.getLocal(`bits`))),i.setLocal(`idx2`,i.i32_add(i.getLocal(`px`),i.i32_mul(i.getLocal(`ri`),i.i32_const(o)))),i.if(i.i32_lt_u(i.getLocal(`i`),i.getLocal(`ri`)),[...i.call(n+`_copy`,i.getLocal(`idx1`),a),...i.call(n+`_copy`,i.getLocal(`idx2`),i.getLocal(`idx1`)),...i.call(n+`_copy`,a,i.getLocal(`idx2`))]),i.setLocal(`i`,i.i32_add(i.getLocal(`i`),i.i32_const(1))),i.br(0))))}function N(){let n=e.addFunction(t+`__rev`);n.addParam(`x`,`i32`),n.addParam(`bits`,`i32`),n.setReturnType(`i32`);let r=n.getCodeBuilder();n.addCode(r.i32_rotl(r.i32_add(r.i32_add(r.i32_shl(r.i32_load8_u(r.i32_and(r.getLocal(`x`),r.i32_const(255)),E,0),r.i32_const(24)),r.i32_shl(r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal(`x`),r.i32_const(8)),r.i32_const(255)),E,0),r.i32_const(16))),r.i32_add(r.i32_shl(r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal(`x`),r.i32_const(16)),r.i32_const(255)),E,0),r.i32_const(8)),r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal(`x`),r.i32_const(24)),r.i32_const(255)),E,0))),r.getLocal(`bits`)))}function P(){let s=e.addFunction(t+`_fftJoin`);s.addParam(`pBuff1`,`i32`),s.addParam(`pBuff2`,`i32`),s.addParam(`n`,`i32`),s.addParam(`first`,`i32`),s.addParam(`inc`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`),s.addLocal(`i`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o)),d=c.i32_const(e.alloc(o));s.addCode(c.call(r+`_copy`,c.getLocal(`first`),l),c.setLocal(`i`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`i`),c.getLocal(`n`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`pBuff1`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`pBuff2`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.call(i,c.getLocal(`idx2`),l,u),c.call(n+`_copy`,c.getLocal(`idx1`),d),c.call(n+`_add`,d,u,c.getLocal(`idx1`)),c.call(n+`_sub`,d,u,c.getLocal(`idx2`)),c.call(r+`_mul`,l,c.getLocal(`inc`),l),c.setLocal(`i`,c.i32_add(c.getLocal(`i`),c.i32_const(1))),c.br(0))))}function F(){let s=e.addFunction(t+`_fftJoinExt`);s.addParam(`pBuff1`,`i32`),s.addParam(`pBuff2`,`i32`),s.addParam(`n`,`i32`),s.addParam(`first`,`i32`),s.addParam(`inc`,`i32`),s.addParam(`totalBits`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`),s.addLocal(`i`,`i32`),s.addLocal(`pShiftToM`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o));s.addCode(c.setLocal(`pShiftToM`,c.i32_add(c.i32_const(S),c.i32_mul(c.getLocal(`totalBits`),c.i32_const(a)))),c.call(r+`_copy`,c.getLocal(`first`),l),c.setLocal(`i`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`i`),c.getLocal(`n`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`pBuff1`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`pBuff2`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.call(n+`_add`,c.getLocal(`idx1`),c.getLocal(`idx2`),u),c.call(i,c.getLocal(`idx2`),c.getLocal(`pShiftToM`),c.getLocal(`idx2`)),c.call(n+`_add`,c.getLocal(`idx1`),c.getLocal(`idx2`),c.getLocal(`idx2`)),c.call(i,c.getLocal(`idx2`),l,c.getLocal(`idx2`)),c.call(n+`_copy`,u,c.getLocal(`idx1`)),c.call(r+`_mul`,l,c.getLocal(`inc`),l),c.setLocal(`i`,c.i32_add(c.getLocal(`i`),c.i32_const(1))),c.br(0))))}function I(){let s=e.addFunction(t+`_fftJoinExtInv`);s.addParam(`pBuff1`,`i32`),s.addParam(`pBuff2`,`i32`),s.addParam(`n`,`i32`),s.addParam(`first`,`i32`),s.addParam(`inc`,`i32`),s.addParam(`totalBits`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`),s.addLocal(`i`,`i32`),s.addLocal(`pShiftToM`,`i32`),s.addLocal(`pSConst`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o));s.addCode(c.setLocal(`pShiftToM`,c.i32_add(c.i32_const(S),c.i32_mul(c.getLocal(`totalBits`),c.i32_const(a)))),c.setLocal(`pSConst`,c.i32_add(c.i32_const(C),c.i32_mul(c.getLocal(`totalBits`),c.i32_const(a)))),c.call(r+`_copy`,c.getLocal(`first`),l),c.setLocal(`i`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`i`),c.getLocal(`n`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`pBuff1`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`pBuff2`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.call(i,c.getLocal(`idx2`),l,u),c.call(n+`_sub`,c.getLocal(`idx1`),u,c.getLocal(`idx2`)),c.call(i,c.getLocal(`idx2`),c.getLocal(`pSConst`),c.getLocal(`idx2`)),c.call(i,c.getLocal(`idx1`),c.getLocal(`pShiftToM`),c.getLocal(`idx1`)),c.call(n+`_sub`,u,c.getLocal(`idx1`),c.getLocal(`idx1`)),c.call(i,c.getLocal(`idx1`),c.getLocal(`pSConst`),c.getLocal(`idx1`)),c.call(r+`_mul`,l,c.getLocal(`inc`),l),c.setLocal(`i`,c.i32_add(c.getLocal(`i`),c.i32_const(1))),c.br(0))))}function L(){let s=e.addFunction(t+`_prepareLagrangeEvaluation`);s.addParam(`pBuff1`,`i32`),s.addParam(`pBuff2`,`i32`),s.addParam(`n`,`i32`),s.addParam(`first`,`i32`),s.addParam(`inc`,`i32`),s.addParam(`totalBits`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`),s.addLocal(`i`,`i32`),s.addLocal(`pShiftToM`,`i32`),s.addLocal(`pSConst`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o));s.addCode(c.setLocal(`pShiftToM`,c.i32_add(c.i32_const(S),c.i32_mul(c.getLocal(`totalBits`),c.i32_const(a)))),c.setLocal(`pSConst`,c.i32_add(c.i32_const(C),c.i32_mul(c.getLocal(`totalBits`),c.i32_const(a)))),c.call(r+`_copy`,c.getLocal(`first`),l),c.setLocal(`i`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`i`),c.getLocal(`n`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`pBuff1`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`pBuff2`),c.i32_mul(c.getLocal(`i`),c.i32_const(o)))),c.call(i,c.getLocal(`idx1`),c.getLocal(`pShiftToM`),u),c.call(n+`_sub`,c.getLocal(`idx2`),u,u),c.call(n+`_sub`,c.getLocal(`idx1`),c.getLocal(`idx2`),c.getLocal(`idx2`)),c.call(i,u,c.getLocal(`pSConst`),c.getLocal(`idx1`)),c.call(i,c.getLocal(`idx2`),l,c.getLocal(`idx2`)),c.call(r+`_mul`,l,c.getLocal(`inc`),l),c.setLocal(`i`,c.i32_add(c.getLocal(`i`),c.i32_const(1))),c.br(0))))}function R(){let s=e.addFunction(t+`_fftMix`);s.addParam(`pBuff`,`i32`),s.addParam(`n`,`i32`),s.addParam(`exp`,`i32`),s.addLocal(`nGroups`,`i32`),s.addLocal(`nPerGroup`,`i32`),s.addLocal(`nPerGroupDiv2`,`i32`),s.addLocal(`pairOffset`,`i32`),s.addLocal(`idx1`,`i32`),s.addLocal(`idx2`,`i32`),s.addLocal(`i`,`i32`),s.addLocal(`j`,`i32`),s.addLocal(`pwm`,`i32`);let c=s.getCodeBuilder(),l=c.i32_const(e.alloc(a)),u=c.i32_const(e.alloc(o)),d=c.i32_const(e.alloc(o));s.addCode(c.setLocal(`nPerGroup`,c.i32_shl(c.i32_const(1),c.getLocal(`exp`))),c.setLocal(`nPerGroupDiv2`,c.i32_shr_u(c.getLocal(`nPerGroup`),c.i32_const(1))),c.setLocal(`nGroups`,c.i32_shr_u(c.getLocal(`n`),c.getLocal(`exp`))),c.setLocal(`pairOffset`,c.i32_mul(c.getLocal(`nPerGroupDiv2`),c.i32_const(o))),c.setLocal(`pwm`,c.i32_add(c.i32_const(h),c.i32_mul(c.getLocal(`exp`),c.i32_const(a)))),c.setLocal(`i`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`i`),c.getLocal(`nGroups`))),c.call(r+`_one`,l),c.setLocal(`j`,c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(`j`),c.getLocal(`nPerGroupDiv2`))),c.setLocal(`idx1`,c.i32_add(c.getLocal(`pBuff`),c.i32_mul(c.i32_add(c.i32_mul(c.getLocal(`i`),c.getLocal(`nPerGroup`)),c.getLocal(`j`)),c.i32_const(o)))),c.setLocal(`idx2`,c.i32_add(c.getLocal(`idx1`),c.getLocal(`pairOffset`))),c.call(i,c.getLocal(`idx2`),l,u),c.call(n+`_copy`,c.getLocal(`idx1`),d),c.call(n+`_add`,d,u,c.getLocal(`idx1`)),c.call(n+`_sub`,d,u,c.getLocal(`idx2`)),c.call(r+`_mul`,l,c.getLocal(`pwm`),l),c.setLocal(`j`,c.i32_add(c.getLocal(`j`),c.i32_const(1))),c.br(0))),c.setLocal(`i`,c.i32_add(c.getLocal(`i`),c.i32_const(1))),c.br(0))))}function z(){let r=e.addFunction(t+`_fftFinal`);r.addParam(`pBuff`,`i32`),r.addParam(`n`,`i32`),r.addParam(`factor`,`i32`),r.addLocal(`idx1`,`i32`),r.addLocal(`idx2`,`i32`),r.addLocal(`i`,`i32`),r.addLocal(`ndiv2`,`i32`);let a=r.getCodeBuilder(),s=a.i32_const(e.alloc(o));r.addCode(a.setLocal(`ndiv2`,a.i32_shr_u(a.getLocal(`n`),a.i32_const(1))),a.if(a.i32_and(a.getLocal(`n`),a.i32_const(1)),a.call(i,a.i32_add(a.getLocal(`pBuff`),a.i32_mul(a.getLocal(`ndiv2`),a.i32_const(o))),a.getLocal(`factor`),a.i32_add(a.getLocal(`pBuff`),a.i32_mul(a.getLocal(`ndiv2`),a.i32_const(o))))),a.setLocal(`i`,a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_ge_u(a.getLocal(`i`),a.getLocal(`ndiv2`))),a.setLocal(`idx1`,a.i32_add(a.getLocal(`pBuff`),a.i32_mul(a.getLocal(`i`),a.i32_const(o)))),a.setLocal(`idx2`,a.i32_add(a.getLocal(`pBuff`),a.i32_mul(a.i32_sub(a.i32_sub(a.getLocal(`n`),a.i32_const(1)),a.getLocal(`i`)),a.i32_const(o)))),a.call(i,a.getLocal(`idx2`),a.getLocal(`factor`),s),a.call(i,a.getLocal(`idx1`),a.getLocal(`factor`),a.getLocal(`idx2`)),a.call(n+`_copy`,s,a.getLocal(`idx1`)),a.setLocal(`i`,a.i32_add(a.getLocal(`i`),a.i32_const(1))),a.br(0))))}N(),M(),j(),A(),D(),O(),k(),P(),F(),I(),R(),z(),L(),e.exportFunction(t+`_fft`),e.exportFunction(t+`_ifft`),e.exportFunction(t+`_rawfft`),e.exportFunction(t+`_fftJoin`),e.exportFunction(t+`_fftJoinExt`),e.exportFunction(t+`_fftJoinExtInv`),e.exportFunction(t+`_fftMix`),e.exportFunction(t+`_fftFinal`),e.exportFunction(t+`_prepareLagrangeEvaluation`)},Gt=function(e,t,n){let r=e.modules[n].n64*8;function i(){let i=e.addFunction(t+`_zero`);i.addParam(`px`,`i32`),i.addParam(`n`,`i32`),i.addLocal(`lastp`,`i32`),i.addLocal(`p`,`i32`);let a=i.getCodeBuilder();i.addCode(a.setLocal(`p`,a.getLocal(`px`)),a.setLocal(`lastp`,a.i32_add(a.getLocal(`px`),a.i32_mul(a.getLocal(`n`),a.i32_const(r)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`p`),a.getLocal(`lastp`))),a.call(n+`_zero`,a.getLocal(`p`)),a.setLocal(`p`,a.i32_add(a.getLocal(`p`),a.i32_const(r))),a.br(0))))}function a(){let i=e.addFunction(t+`_constructLC`);i.addParam(`ppolynomials`,`i32`),i.addParam(`psignals`,`i32`),i.addParam(`nSignals`,`i32`),i.addParam(`pres`,`i32`),i.addLocal(`i`,`i32`),i.addLocal(`j`,`i32`),i.addLocal(`pp`,`i32`),i.addLocal(`ps`,`i32`),i.addLocal(`pd`,`i32`),i.addLocal(`ncoefs`,`i32`);let a=i.getCodeBuilder(),o=a.i32_const(e.alloc(r));i.addCode(a.setLocal(`i`,a.i32_const(0)),a.setLocal(`pp`,a.getLocal(`ppolynomials`)),a.setLocal(`ps`,a.getLocal(`psignals`)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`i`),a.getLocal(`nSignals`))),a.setLocal(`ncoefs`,a.i32_load(a.getLocal(`pp`))),a.setLocal(`pp`,a.i32_add(a.getLocal(`pp`),a.i32_const(4))),a.setLocal(`j`,a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`j`),a.getLocal(`ncoefs`))),a.setLocal(`pd`,a.i32_add(a.getLocal(`pres`),a.i32_mul(a.i32_load(a.getLocal(`pp`)),a.i32_const(r)))),a.setLocal(`pp`,a.i32_add(a.getLocal(`pp`),a.i32_const(4))),a.call(n+`_mul`,a.getLocal(`ps`),a.getLocal(`pp`),o),a.call(n+`_add`,o,a.getLocal(`pd`),a.getLocal(`pd`)),a.setLocal(`pp`,a.i32_add(a.getLocal(`pp`),a.i32_const(r))),a.setLocal(`j`,a.i32_add(a.getLocal(`j`),a.i32_const(1))),a.br(0))),a.setLocal(`ps`,a.i32_add(a.getLocal(`ps`),a.i32_const(r))),a.setLocal(`i`,a.i32_add(a.getLocal(`i`),a.i32_const(1))),a.br(0))))}return i(),a(),e.exportFunction(t+`_zero`),e.exportFunction(t+`_constructLC`),t},Kt=function(e,t,n){let r=e.modules[n].n64*8;function i(){let i=e.addFunction(t+`_buildABC`);i.addParam(`pCoefs`,`i32`),i.addParam(`nCoefs`,`i32`),i.addParam(`pWitness`,`i32`),i.addParam(`pA`,`i32`),i.addParam(`pB`,`i32`),i.addParam(`pC`,`i32`),i.addParam(`offsetOut`,`i32`),i.addParam(`nOut`,`i32`),i.addParam(`offsetWitness`,`i32`),i.addParam(`nWitness`,`i32`),i.addLocal(`it`,`i32`),i.addLocal(`ita`,`i32`),i.addLocal(`itb`,`i32`),i.addLocal(`last`,`i32`),i.addLocal(`m`,`i32`),i.addLocal(`c`,`i32`),i.addLocal(`s`,`i32`),i.addLocal(`pOut`,`i32`);let a=i.getCodeBuilder(),o=a.i32_const(e.alloc(r));i.addCode(a.setLocal(`ita`,a.getLocal(`pA`)),a.setLocal(`itb`,a.getLocal(`pB`)),a.setLocal(`last`,a.i32_add(a.getLocal(`pA`),a.i32_mul(a.getLocal(`nOut`),a.i32_const(r)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`ita`),a.getLocal(`last`))),a.call(n+`_zero`,a.getLocal(`ita`)),a.call(n+`_zero`,a.getLocal(`itb`)),a.setLocal(`ita`,a.i32_add(a.getLocal(`ita`),a.i32_const(r))),a.setLocal(`itb`,a.i32_add(a.getLocal(`itb`),a.i32_const(r))),a.br(0))),a.setLocal(`it`,a.getLocal(`pCoefs`)),a.setLocal(`last`,a.i32_add(a.getLocal(`pCoefs`),a.i32_mul(a.getLocal(`nCoefs`),a.i32_const(r+12)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`it`),a.getLocal(`last`))),a.setLocal(`s`,a.i32_load(a.getLocal(`it`),8)),a.if(a.i32_or(a.i32_lt_u(a.getLocal(`s`),a.getLocal(`offsetWitness`)),a.i32_ge_u(a.getLocal(`s`),a.i32_add(a.getLocal(`offsetWitness`),a.getLocal(`nWitness`)))),[...a.setLocal(`it`,a.i32_add(a.getLocal(`it`),a.i32_const(r+12))),...a.br(1)]),a.setLocal(`m`,a.i32_load(a.getLocal(`it`))),a.if(a.i32_eq(a.getLocal(`m`),a.i32_const(0)),a.setLocal(`pOut`,a.getLocal(`pA`)),a.if(a.i32_eq(a.getLocal(`m`),a.i32_const(1)),a.setLocal(`pOut`,a.getLocal(`pB`)),[...a.setLocal(`it`,a.i32_add(a.getLocal(`it`),a.i32_const(r+12))),...a.br(1)])),a.setLocal(`c`,a.i32_load(a.getLocal(`it`),4)),a.if(a.i32_or(a.i32_lt_u(a.getLocal(`c`),a.getLocal(`offsetOut`)),a.i32_ge_u(a.getLocal(`c`),a.i32_add(a.getLocal(`offsetOut`),a.getLocal(`nOut`)))),[...a.setLocal(`it`,a.i32_add(a.getLocal(`it`),a.i32_const(r+12))),...a.br(1)]),a.setLocal(`pOut`,a.i32_add(a.getLocal(`pOut`),a.i32_mul(a.i32_sub(a.getLocal(`c`),a.getLocal(`offsetOut`)),a.i32_const(r)))),a.call(n+`_mul`,a.i32_add(a.getLocal(`pWitness`),a.i32_mul(a.i32_sub(a.getLocal(`s`),a.getLocal(`offsetWitness`)),a.i32_const(r))),a.i32_add(a.getLocal(`it`),a.i32_const(12)),o),a.call(n+`_add`,a.getLocal(`pOut`),o,a.getLocal(`pOut`)),a.setLocal(`it`,a.i32_add(a.getLocal(`it`),a.i32_const(r+12))),a.br(0))),a.setLocal(`ita`,a.getLocal(`pA`)),a.setLocal(`itb`,a.getLocal(`pB`)),a.setLocal(`it`,a.getLocal(`pC`)),a.setLocal(`last`,a.i32_add(a.getLocal(`pA`),a.i32_mul(a.getLocal(`nOut`),a.i32_const(r)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`ita`),a.getLocal(`last`))),a.call(n+`_mul`,a.getLocal(`ita`),a.getLocal(`itb`),a.getLocal(`it`)),a.setLocal(`ita`,a.i32_add(a.getLocal(`ita`),a.i32_const(r))),a.setLocal(`itb`,a.i32_add(a.getLocal(`itb`),a.i32_const(r))),a.setLocal(`it`,a.i32_add(a.getLocal(`it`),a.i32_const(r))),a.br(0))))}function a(){let i=e.addFunction(t+`_joinABC`);i.addParam(`pA`,`i32`),i.addParam(`pB`,`i32`),i.addParam(`pC`,`i32`),i.addParam(`n`,`i32`),i.addParam(`pP`,`i32`),i.addLocal(`ita`,`i32`),i.addLocal(`itb`,`i32`),i.addLocal(`itc`,`i32`),i.addLocal(`itp`,`i32`),i.addLocal(`last`,`i32`);let a=i.getCodeBuilder(),o=a.i32_const(e.alloc(r));i.addCode(a.setLocal(`ita`,a.getLocal(`pA`)),a.setLocal(`itb`,a.getLocal(`pB`)),a.setLocal(`itc`,a.getLocal(`pC`)),a.setLocal(`itp`,a.getLocal(`pP`)),a.setLocal(`last`,a.i32_add(a.getLocal(`pA`),a.i32_mul(a.getLocal(`n`),a.i32_const(r)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`ita`),a.getLocal(`last`))),a.call(n+`_mul`,a.getLocal(`ita`),a.getLocal(`itb`),o),a.call(n+`_sub`,o,a.getLocal(`itc`),a.getLocal(`itp`)),a.setLocal(`ita`,a.i32_add(a.getLocal(`ita`),a.i32_const(r))),a.setLocal(`itb`,a.i32_add(a.getLocal(`itb`),a.i32_const(r))),a.setLocal(`itc`,a.i32_add(a.getLocal(`itc`),a.i32_const(r))),a.setLocal(`itp`,a.i32_add(a.getLocal(`itp`),a.i32_const(r))),a.br(0))))}function o(){let i=e.addFunction(t+`_batchAdd`);i.addParam(`pa`,`i32`),i.addParam(`pb`,`i32`),i.addParam(`n`,`i32`),i.addParam(`pr`,`i32`),i.addLocal(`ita`,`i32`),i.addLocal(`itb`,`i32`),i.addLocal(`itr`,`i32`),i.addLocal(`last`,`i32`);let a=i.getCodeBuilder();i.addCode(a.setLocal(`ita`,a.getLocal(`pa`)),a.setLocal(`itb`,a.getLocal(`pb`)),a.setLocal(`itr`,a.getLocal(`pr`)),a.setLocal(`last`,a.i32_add(a.getLocal(`pa`),a.i32_mul(a.getLocal(`n`),a.i32_const(r)))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(`ita`),a.getLocal(`last`))),a.call(n+`_add`,a.getLocal(`ita`),a.getLocal(`itb`),a.getLocal(`itr`)),a.setLocal(`ita`,a.i32_add(a.getLocal(`ita`),a.i32_const(r))),a.setLocal(`itb`,a.i32_add(a.getLocal(`itb`),a.i32_const(r))),a.setLocal(`itr`,a.i32_add(a.getLocal(`itr`),a.i32_const(r))),a.br(0))))}return i(),a(),o(),e.exportFunction(t+`_buildABC`),e.exportFunction(t+`_joinABC`),e.exportFunction(t+`_batchAdd`),t},qt=function(e,t,n,r,i,a,o,s){let c=e.addFunction(t);c.addParam(`pIn`,`i32`),c.addParam(`n`,`i32`),c.addParam(`pFirst`,`i32`),c.addParam(`pInc`,`i32`),c.addParam(`pOut`,`i32`),c.addLocal(`pOldFree`,`i32`),c.addLocal(`i`,`i32`),c.addLocal(`pFrom`,`i32`),c.addLocal(`pTo`,`i32`);let l=c.getCodeBuilder(),u=l.i32_const(e.alloc(o));c.addCode(l.setLocal(`pFrom`,l.getLocal(`pIn`)),l.setLocal(`pTo`,l.getLocal(`pOut`))),c.addCode(l.call(r+`_copy`,l.getLocal(`pFirst`),u)),c.addCode(l.setLocal(`i`,l.i32_const(0)),l.block(l.loop(l.br_if(1,l.i32_eq(l.getLocal(`i`),l.getLocal(`n`))),l.call(s,l.getLocal(`pFrom`),u,l.getLocal(`pTo`)),l.setLocal(`pFrom`,l.i32_add(l.getLocal(`pFrom`),l.i32_const(i))),l.setLocal(`pTo`,l.i32_add(l.getLocal(`pTo`),l.i32_const(a))),l.call(r+`_mul`,u,l.getLocal(`pInc`),u),l.setLocal(`i`,l.i32_add(l.getLocal(`i`),l.i32_const(1))),l.br(0)))),e.exportFunction(t)},G=ze,Jt=Ct,Yt=Et,Xt=At,Zt=Nt,Qt=zt,$t=Wt,en=Gt,tn=Kt,nn=qt,{bitLength:rn,modInv:an,isOdd:on,isNegative:sn}=W,cn=function(e,t){let n=t||`bn128`;if(e.modules[n])return n;let r=21888242871839275222246405745257275088696311157297823662689037894645226208583n,i=21888242871839275222246405745257275088548364400416034343698204186575808495617n,a=Math.floor((rn(r-1n)-1)/64)+1,o=a*8,s=o,c=o,l=c*2,u=c*12,d=e.alloc(G.bigInt2BytesLE(i,s)),f=Jt(e,r,`f1m`);Yt(e,i,`fr`,`frm`);let p=e.alloc(G.bigInt2BytesLE(y(3n),c)),m=Qt(e,`g1m`,`f1m`,p);$t(e,`frm`,`frm`,`frm`,`frm_mul`),en(e,`pol`,`frm`),tn(e,`qap`,`frm`);let h=Xt(e,`f1m_neg`,`f2m`,`f1m`),g=e.alloc([...G.bigInt2BytesLE(y(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...G.bigInt2BytesLE(y(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]),_=Qt(e,`g2m`,`f2m`,g);function v(t,n){let r=e.addFunction(t);r.addParam(`pG`,`i32`),r.addParam(`pFr`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(o));r.addCode(i.call(`frm_fromMontgomery`,i.getLocal(`pFr`),a),i.call(n,i.getLocal(`pG`),a,i.i32_const(o),i.getLocal(`pr`))),e.exportFunction(t)}v(`g1m_timesFr`,`g1m_timesScalar`),$t(e,`g1m`,`g1m`,`frm`,`g1m_timesFr`),v(`g2m_timesFr`,`g2m_timesScalar`),$t(e,`g2m`,`g2m`,`frm`,`g2m_timesFr`),v(`g1m_timesFrAffine`,`g1m_timesScalarAffine`),v(`g2m_timesFrAffine`,`g2m_timesScalarAffine`),nn(e,`frm_batchApplyKey`,`fmr`,`frm`,o,o,o,`frm_mul`),nn(e,`g1m_batchApplyKey`,`g1m`,`frm`,o*3,o*3,o,`g1m_timesFr`),nn(e,`g1m_batchApplyKeyMixed`,`g1m`,`frm`,o*2,o*3,o,`g1m_timesFrAffine`),nn(e,`g2m_batchApplyKey`,`g2m`,`frm`,o*2*3,o*3*2,o,`g2m_timesFr`),nn(e,`g2m_batchApplyKeyMixed`,`g2m`,`frm`,o*2*2,o*3*2,o,`g2m_timesFrAffine`);function y(e){return BigInt(e)*(1n<<BigInt(c*8))%r}let b=[1n,2n,1n],x=e.alloc([...G.bigInt2BytesLE(y(b[0]),c),...G.bigInt2BytesLE(y(b[1]),c),...G.bigInt2BytesLE(y(b[2]),c)]),S=[0n,1n,0n],C=e.alloc([...G.bigInt2BytesLE(y(S[0]),c),...G.bigInt2BytesLE(y(S[1]),c),...G.bigInt2BytesLE(y(S[2]),c)]),w=[[10857046999023057135944570762232829481370756359578518086990519993285655852781n,11559732032986387107991004021392285783925812861821192530917403151452391805634n],[8495653923123431417604973247489272438418190587263600148770280649306958101930n,4082367875863433681332203403145435568316851327593401208105741076214120093531n],[1n,0n]],T=e.alloc([...G.bigInt2BytesLE(y(w[0][0]),c),...G.bigInt2BytesLE(y(w[0][1]),c),...G.bigInt2BytesLE(y(w[1][0]),c),...G.bigInt2BytesLE(y(w[1][1]),c),...G.bigInt2BytesLE(y(w[2][0]),c),...G.bigInt2BytesLE(y(w[2][1]),c)]),E=[[0n,0n],[1n,0n],[0n,0n]],D=e.alloc([...G.bigInt2BytesLE(y(E[0][0]),c),...G.bigInt2BytesLE(y(E[0][1]),c),...G.bigInt2BytesLE(y(E[1][0]),c),...G.bigInt2BytesLE(y(E[1][1]),c),...G.bigInt2BytesLE(y(E[2][0]),c),...G.bigInt2BytesLE(y(E[2][1]),c)]),O=e.alloc([...G.bigInt2BytesLE(y(1),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c),...G.bigInt2BytesLE(y(0),c)]),k=e.alloc([...G.bigInt2BytesLE(y(9),c),...G.bigInt2BytesLE(y(1),c)]),A=e.alloc([...G.bigInt2BytesLE(y(an(2n,r)),c),...G.bigInt2BytesLE(0n,c)]),j=k,M=e.alloc([...G.bigInt2BytesLE(y(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...G.bigInt2BytesLE(y(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]);function N(){let t=e.addFunction(n+`_mulNR6`);t.addParam(`x`,`i32`),t.addParam(`pr`,`i32`);let r=t.getCodeBuilder();t.addCode(r.call(h+`_mul`,r.i32_const(k),r.getLocal(`x`),r.getLocal(`pr`)))}N();let P=Zt(e,n+`_mulNR6`,`f6m`,`f2m`);function F(){let t=e.addFunction(n+`_mulNR12`);t.addParam(`x`,`i32`),t.addParam(`pr`,`i32`);let r=t.getCodeBuilder();t.addCode(r.call(h+`_mul`,r.i32_const(k),r.i32_add(r.getLocal(`x`),r.i32_const(o*4)),r.getLocal(`pr`)),r.call(h+`_copy`,r.getLocal(`x`),r.i32_add(r.getLocal(`pr`),r.i32_const(o*2))),r.call(h+`_copy`,r.i32_add(r.getLocal(`x`),r.i32_const(o*2)),r.i32_add(r.getLocal(`pr`),r.i32_const(o*4))))}F();let I=Xt(e,n+`_mulNR12`,`ftm`,P),L=re(29793968203157093288n),R=e.alloc(L),z=3*l,B=L.length-1,ee=L.reduce((e,t)=>e+(t==0?0:1),0)+B+1,te=6*o,V=3*o*2+ee*z;e.modules[n]={n64:a,pG1gen:x,pG1zero:C,pG1b:p,pG2gen:T,pG2zero:D,pG2b:g,pq:e.modules.f1m.pq,pr:d,pOneT:O,prePSize:te,preQSize:V,r:`21888242871839275222246405745257275088548364400416034343698204186575808495617`,q:`21888242871839275222246405745257275088696311157297823662689037894645226208583`};function ne(e){let t=e,n=[];for(;t>0n;){if(on(t)){let e=2-Number(t%4n);n.push(e),t-=BigInt(e)}else n.push(0);t>>=1n}return n}function re(e){let t=e,n=[];for(;t>0n;)on(t)?n.push(1):n.push(0),t>>=1n;return n}function ie(){let t=e.addFunction(n+`_prepareG1`);t.addParam(`pP`,`i32`),t.addParam(`ppreP`,`i32`);let r=t.getCodeBuilder();t.addCode(r.call(m+`_normalize`,r.getLocal(`pP`),r.getLocal(`ppreP`)))}function ae(){let t=e.addFunction(n+`_prepAddStep`);t.addParam(`pQ`,`i32`),t.addParam(`pR`,`i32`),t.addParam(`pCoef`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pQ`),a=r.i32_add(r.getLocal(`pQ`),r.i32_const(l)),o=r.getLocal(`pR`),s=r.i32_add(r.getLocal(`pR`),r.i32_const(l)),c=r.i32_add(r.getLocal(`pR`),r.i32_const(2*l)),u=r.getLocal(`pCoef`),d=r.i32_add(r.getLocal(`pCoef`),r.i32_const(l)),f=r.i32_add(r.getLocal(`pCoef`),r.i32_const(2*l)),p=d,m=r.i32_const(e.alloc(l)),g=r.i32_const(e.alloc(l)),_=r.i32_const(e.alloc(l)),v=r.i32_const(e.alloc(l)),y=r.i32_const(e.alloc(l)),b=r.i32_const(e.alloc(l)),x=r.i32_const(e.alloc(l));t.addCode(r.call(h+`_mul`,i,c,p),r.call(h+`_sub`,o,p,p),r.call(h+`_mul`,a,c,m),r.call(h+`_sub`,s,m,m),r.call(h+`_square`,p,g),r.call(h+`_square`,m,_),r.call(h+`_mul`,p,g,v),r.call(h+`_mul`,o,g,y),r.call(h+`_add`,y,y,x),r.call(h+`_mul`,c,_,b),r.call(h+`_add`,v,b,b),r.call(h+`_sub`,b,x,b),r.call(h+`_mul`,p,b,o),r.call(h+`_mul`,v,s,s),r.call(h+`_sub`,y,b,x),r.call(h+`_mul`,m,x,x),r.call(h+`_sub`,x,s,s),r.call(h+`_mul`,c,v,c),r.call(h+`_mul`,p,a,x),r.call(h+`_mul`,m,i,u),r.call(h+`_sub`,u,x,u),r.call(h+`_mul`,u,r.i32_const(j),u),r.call(h+`_neg`,m,f))}function oe(){let t=e.addFunction(n+`_prepDblStep`);t.addParam(`pR`,`i32`),t.addParam(`pCoef`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pR`),a=r.i32_add(r.getLocal(`pR`),r.i32_const(l)),o=r.i32_add(r.getLocal(`pR`),r.i32_const(2*l)),s=r.getLocal(`pCoef`),c=r.i32_add(r.getLocal(`pCoef`),r.i32_const(l)),u=r.i32_add(r.getLocal(`pCoef`),r.i32_const(2*l)),d=r.i32_const(e.alloc(l)),f=r.i32_const(e.alloc(l)),p=r.i32_const(e.alloc(l)),m=r.i32_const(e.alloc(l)),g=r.i32_const(e.alloc(l)),_=r.i32_const(e.alloc(l)),v=r.i32_const(e.alloc(l)),y=r.i32_const(e.alloc(l)),b=r.i32_const(e.alloc(l)),x=r.i32_const(e.alloc(l)),S=r.i32_const(e.alloc(l)),C=r.i32_const(e.alloc(l));t.addCode(r.call(h+`_mul`,a,r.i32_const(A),d),r.call(h+`_mul`,i,d,d),r.call(h+`_square`,a,f),r.call(h+`_square`,o,p),r.call(h+`_add`,p,p,m),r.call(h+`_add`,m,p,m),r.call(h+`_mul`,r.i32_const(M),m,g),r.call(h+`_add`,g,g,_),r.call(h+`_add`,g,_,_),r.call(h+`_add`,f,_,v),r.call(h+`_mul`,v,r.i32_const(A),v),r.call(h+`_add`,f,p,C),r.call(h+`_add`,a,o,y),r.call(h+`_square`,y,y),r.call(h+`_sub`,y,C,y),r.call(h+`_sub`,g,f,b),r.call(h+`_square`,i,x),r.call(h+`_square`,g,S),r.call(h+`_sub`,f,_,C),r.call(h+`_mul`,d,C,i),r.call(h+`_add`,S,S,C),r.call(h+`_add`,S,C,C),r.call(h+`_square`,v,a),r.call(h+`_sub`,a,C,a),r.call(h+`_mul`,f,y,o),r.call(h+`_mul`,r.i32_const(j),b,s),r.call(h+`_neg`,y,c),r.call(h+`_add`,x,x,u),r.call(h+`_add`,x,u,u))}function se(){let t=e.addFunction(n+`_mulByQ`);t.addParam(`p1`,`i32`),t.addParam(`pr`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`p1`),a=r.i32_add(r.getLocal(`p1`),r.i32_const(l)),o=r.i32_add(r.getLocal(`p1`),r.i32_const(l*2)),s=r.getLocal(`pr`),u=r.i32_add(r.getLocal(`pr`),r.i32_const(l)),d=r.i32_add(r.getLocal(`pr`),r.i32_const(l*2)),f=r.i32_const(e.alloc([...G.bigInt2BytesLE(y(`21575463638280843010398324269430826099269044274347216827212613867836435027261`),c),...G.bigInt2BytesLE(y(`10307601595873709700152284273816112264069230130616436755625194854815875713954`),c)])),p=r.i32_const(e.alloc([...G.bigInt2BytesLE(y(`2821565182194536844548159561693502659359617185244120367078079554186484126554`),c),...G.bigInt2BytesLE(y(`3505843767911556378687030309984248845540243509899259641013678093033130930403`),c)]));t.addCode(r.call(h+`_conjugate`,i,s),r.call(h+`_mul`,f,s,s),r.call(h+`_conjugate`,a,u),r.call(h+`_mul`,p,u,u),r.call(h+`_conjugate`,o,d))}function ce(){se();let t=e.addFunction(n+`_prepareG2`);t.addParam(`pQ`,`i32`),t.addParam(`ppreQ`,`i32`),t.addLocal(`pCoef`,`i32`),t.addLocal(`i`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pQ`),a=e.alloc(l*3),o=r.i32_const(a),s=r.i32_const(a),c=r.i32_const(a+l),u=r.i32_const(a+2*l),d=r.i32_add(r.getLocal(`ppreQ`),r.i32_const(0)),f=r.i32_add(r.getLocal(`ppreQ`),r.i32_const(l)),p=e.alloc(l*3),m=r.i32_const(p),g=e.alloc(l*3),v=r.i32_const(g),y=r.i32_const(g+l);t.addCode(r.call(_+`_normalize`,i,d),r.call(h+`_copy`,d,s),r.call(h+`_copy`,f,c),r.call(h+`_one`,u)),t.addCode(r.setLocal(`pCoef`,r.i32_add(r.getLocal(`ppreQ`),r.i32_const(l*3))),r.setLocal(`i`,r.i32_const(L.length-2)),r.block(r.loop(r.call(n+`_prepDblStep`,o,r.getLocal(`pCoef`)),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))),r.if(r.i32_load8_s(r.getLocal(`i`),R),[...r.call(n+`_prepAddStep`,d,o,r.getLocal(`pCoef`)),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z)))]),r.br_if(1,r.i32_eqz(r.getLocal(`i`))),r.setLocal(`i`,r.i32_sub(r.getLocal(`i`),r.i32_const(1))),r.br(0)))),t.addCode(r.call(n+`_mulByQ`,d,m),r.call(n+`_mulByQ`,m,v)),t.addCode(r.call(h+`_neg`,y,y),r.call(n+`_prepAddStep`,m,o,r.getLocal(`pCoef`)),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))),r.call(n+`_prepAddStep`,v,o,r.getLocal(`pCoef`)),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))))}function le(){let t=e.addFunction(n+`__mulBy024Old`);t.addParam(`pEll0`,`i32`),t.addParam(`pEllVW`,`i32`),t.addParam(`pEllVV`,`i32`),t.addParam(`pR`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pEll0`),a=r.getLocal(`pEllVV`),o=r.getLocal(`pEllVW`),s=r.getLocal(`pR`),c=e.alloc(u),d=r.i32_const(c),f=r.i32_const(c),p=r.i32_const(c+l),m=r.i32_const(c+l*2),g=r.i32_const(c+l*3),_=r.i32_const(c+l*4),v=r.i32_const(c+l*5);t.addCode(r.call(h+`_copy`,i,f),r.call(h+`_zero`,p),r.call(h+`_copy`,a,m),r.call(h+`_zero`,g),r.call(h+`_copy`,o,_),r.call(h+`_zero`,v),r.call(I+`_mul`,d,s,s))}function ue(){let t=e.addFunction(n+`__mulBy024`);t.addParam(`pEll0`,`i32`),t.addParam(`pEllVW`,`i32`),t.addParam(`pEllVV`,`i32`),t.addParam(`pR`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pEll0`),a=r.getLocal(`pEllVV`),s=r.getLocal(`pEllVW`),c=r.getLocal(`pR`),u=r.i32_add(r.getLocal(`pR`),r.i32_const(2*o)),d=r.i32_add(r.getLocal(`pR`),r.i32_const(4*o)),f=r.i32_add(r.getLocal(`pR`),r.i32_const(6*o)),p=r.i32_add(r.getLocal(`pR`),r.i32_const(8*o)),m=r.i32_add(r.getLocal(`pR`),r.i32_const(10*o)),g=r.i32_const(e.alloc(l)),_=r.i32_const(e.alloc(l)),v=r.i32_const(e.alloc(l)),y=r.i32_const(e.alloc(l)),b=r.i32_const(e.alloc(l)),x=r.i32_const(e.alloc(l)),S=r.i32_const(e.alloc(l)),C=r.i32_const(e.alloc(l)),w=r.i32_const(e.alloc(l)),T=r.i32_const(e.alloc(l)),E=r.i32_const(e.alloc(l));t.addCode(r.call(h+`_mul`,c,i,S),r.call(h+`_mul`,d,a,C),r.call(h+`_mul`,p,s,w),r.call(h+`_add`,c,p,v),r.call(h+`_add`,c,d,_),r.call(h+`_add`,u,f,y),r.call(h+`_add`,y,m,y),r.call(h+`_mul`,u,a,T),r.call(h+`_add`,T,w,b),r.call(h+`_mul`,r.i32_const(k),b,x),r.call(h+`_add`,x,S,c),r.call(h+`_mul`,m,s,b),r.call(h+`_add`,T,b,T),r.call(h+`_add`,b,C,b),r.call(h+`_mul`,r.i32_const(k),b,x),r.call(h+`_mul`,u,i,b),r.call(h+`_add`,T,b,T),r.call(h+`_add`,x,b,u),r.call(h+`_add`,i,a,g),r.call(h+`_mul`,_,g,b),r.call(h+`_add`,S,C,E),r.call(h+`_sub`,b,E,b),r.call(h+`_mul`,f,s,x),r.call(h+`_add`,T,x,T),r.call(h+`_add`,d,p,g),r.call(h+`_add`,b,x,d),r.call(h+`_add`,a,s,_),r.call(h+`_mul`,_,g,b),r.call(h+`_add`,C,w,E),r.call(h+`_sub`,b,E,b),r.call(h+`_mul`,r.i32_const(k),b,x),r.call(h+`_mul`,f,i,b),r.call(h+`_add`,T,b,T),r.call(h+`_add`,x,b,f),r.call(h+`_mul`,m,a,b),r.call(h+`_add`,T,b,T),r.call(h+`_mul`,r.i32_const(k),b,x),r.call(h+`_add`,i,s,g),r.call(h+`_mul`,v,g,b),r.call(h+`_add`,S,w,E),r.call(h+`_sub`,b,E,b),r.call(h+`_add`,x,b,p),r.call(h+`_add`,i,a,g),r.call(h+`_add`,g,s,g),r.call(h+`_mul`,y,g,b),r.call(h+`_sub`,b,T,m))}function de(){let t=e.addFunction(n+`_millerLoop`);t.addParam(`ppreP`,`i32`),t.addParam(`ppreQ`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`pCoef`,`i32`),t.addLocal(`i`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`ppreP`),a=r.i32_add(r.getLocal(`ppreP`),r.i32_const(c)),o=r.getLocal(`pCoef`),s=r.i32_add(r.getLocal(`pCoef`),r.i32_const(l)),u=r.i32_add(r.getLocal(`pCoef`),r.i32_const(2*l)),d=e.alloc(l),f=r.i32_const(d),p=e.alloc(l),m=r.i32_const(p),g=r.getLocal(`r`);t.addCode(r.call(I+`_one`,g),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`ppreQ`),r.i32_const(l*3))),r.setLocal(`i`,r.i32_const(L.length-2)),r.block(r.loop(r.call(I+`_square`,g,g),r.call(h+`_mul1`,s,a,f),r.call(h+`_mul1`,u,i,m),r.call(n+`__mulBy024`,o,f,m,g),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))),r.if(r.i32_load8_s(r.getLocal(`i`),R),[...r.call(h+`_mul1`,s,a,f),...r.call(h+`_mul1`,u,i,m),...r.call(n+`__mulBy024`,o,f,m,g),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z)))]),r.br_if(1,r.i32_eqz(r.getLocal(`i`))),r.setLocal(`i`,r.i32_sub(r.getLocal(`i`),r.i32_const(1))),r.br(0)))),t.addCode(r.call(h+`_mul1`,s,a,f),r.call(h+`_mul1`,u,i,m),r.call(n+`__mulBy024`,o,f,m,g),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))),r.call(h+`_mul1`,s,a,f),r.call(h+`_mul1`,u,i,m),r.call(n+`__mulBy024`,o,f,m,g),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(z))))}function fe(t){let i=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[8376118865763821496583973867626364092589906065868298776909617916018768340080n,16469823323077808223889137241176536799009286646108169935659301613961712198316n],[21888242871839275220042445260109153167277707414472061641714758635765020556617n,0n],[11697423496358154304825782922584725312912383441159505038794027105778954184319n,303847389135065887422783454877609941456349188919719272345083954437860409601n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3321304630594332808241809054958361220322477375291206261884409189760185844239n,5722266937896532885780051958958348231143373700109372999374820235121374419868n],[21888242871839275222246405745257275088696311157297823662689037894645226208582n,0n],[13512124006075453725662431877630910996106405091429524885779419978626457868503n,5418419548761466998357268504080738289687024511189653727029736280683514010267n],[2203960485148121921418603742825762020974279258880205651966n,0n],[10190819375481120917420622822672549775783927716138318623895010788866272024264n,21584395482704209334823622290379665147239961968378104390343953940207365798982n],[2203960485148121921418603742825762020974279258880205651967n,0n],[18566938241244942414004596690298913868373833782006617400804628704885040364344n,16165975933942742336466353786298926857552937457188450663314217659523851788715n]]],a=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[21575463638280843010398324269430826099269044274347216827212613867836435027261n,10307601595873709700152284273816112264069230130616436755625194854815875713954n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3772000881919853776433695186713858239009073593817195771773381919316419345261n,2236595495967245188281701248203181795121068902605861227855261137820944008926n],[2203960485148121921418603742825762020974279258880205651966n,0n],[18429021223477853657660792034369865839114504446431234726392080002137598044644n,9344045779998320333812420223237981029506012124075525679208581902008406485703n]],[[1n,0n],[2581911344467009335267311115468803099551665605076196740867805258568234346338n,19937756971775647987995932169929341994314640652964949448313374472400716661030n],[2203960485148121921418603742825762020974279258880205651966n,0n],[5324479202449903542726783395506214481928257762400643279780343368557297135718n,16208900380737693084919495127334387981393726419856888799917914180988844123039n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[13981852324922362344252311234282257507216387789820983642040889267519694726527n,7629828391165209371577384193250820201684255241773809077146787135900891633097n]]],o=e.addFunction(n+`__frobeniusMap`+t);o.addParam(`x`,`i32`),o.addParam(`r`,`i32`);let s=o.getCodeBuilder();for(let n=0;n<6;n++){let r=n==0?s.getLocal(`x`):s.i32_add(s.getLocal(`x`),s.i32_const(n*l)),d=r,p=s.i32_add(s.getLocal(`x`),s.i32_const(n*l+c)),m=n==0?s.getLocal(`r`):s.i32_add(s.getLocal(`r`),s.i32_const(n*l)),g=m,_=s.i32_add(s.getLocal(`r`),s.i32_const(n*l+c)),v=u(i[Math.floor(n/3)][t%12],a[n%3][t%6]),b=e.alloc([...G.bigInt2BytesLE(y(v[0]),32),...G.bigInt2BytesLE(y(v[1]),32)]);t%2==1?o.addCode(s.call(f+`_copy`,d,g),s.call(f+`_neg`,p,_),s.call(h+`_mul`,m,s.i32_const(b),m)):o.addCode(s.call(h+`_mul`,r,s.i32_const(b),m))}function u(e,t){let n=BigInt(e[0]),i=BigInt(e[1]),a=BigInt(t[0]),o=BigInt(t[1]),s=[(n*a-i*o)%r,(n*o+i*a)%r];return sn(s[0])&&(s[0]+=r),s}}function pe(){let t=e.addFunction(n+`__finalExponentiationFirstChunk`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=i,s=r.i32_add(i,r.i32_const(o*6)),c=r.getLocal(`r`),l=e.alloc(u),d=r.i32_const(l),f=d,p=r.i32_const(l+o*6),m=r.i32_const(e.alloc(u)),h=r.i32_const(e.alloc(u)),g=r.i32_const(e.alloc(u));t.addCode(r.call(P+`_copy`,a,f),r.call(P+`_neg`,s,p),r.call(I+`_inverse`,i,m),r.call(I+`_mul`,d,m,h),r.call(n+`__frobeniusMap2`,h,g),r.call(I+`_mul`,h,g,c))}function me(){let t=e.addFunction(n+`__cyclotomicSquare`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=r.i32_add(r.getLocal(`x`),r.i32_const(l)),o=r.i32_add(r.getLocal(`x`),r.i32_const(2*l)),s=r.i32_add(r.getLocal(`x`),r.i32_const(3*l)),c=r.i32_add(r.getLocal(`x`),r.i32_const(4*l)),u=r.i32_add(r.getLocal(`x`),r.i32_const(5*l)),d=r.getLocal(`r`),f=r.i32_add(r.getLocal(`r`),r.i32_const(l)),p=r.i32_add(r.getLocal(`r`),r.i32_const(2*l)),m=r.i32_add(r.getLocal(`r`),r.i32_const(3*l)),g=r.i32_add(r.getLocal(`r`),r.i32_const(4*l)),_=r.i32_add(r.getLocal(`r`),r.i32_const(5*l)),v=r.i32_const(e.alloc(l)),y=r.i32_const(e.alloc(l)),b=r.i32_const(e.alloc(l)),x=r.i32_const(e.alloc(l)),S=r.i32_const(e.alloc(l)),C=r.i32_const(e.alloc(l)),w=r.i32_const(e.alloc(l)),T=r.i32_const(e.alloc(l));t.addCode(r.call(h+`_mul`,i,c,w),r.call(h+`_mul`,c,r.i32_const(k),v),r.call(h+`_add`,i,v,v),r.call(h+`_add`,i,c,T),r.call(h+`_mul`,T,v,v),r.call(h+`_mul`,r.i32_const(k),w,T),r.call(h+`_add`,w,T,T),r.call(h+`_sub`,v,T,v),r.call(h+`_add`,w,w,y),r.call(h+`_mul`,s,o,w),r.call(h+`_mul`,o,r.i32_const(k),b),r.call(h+`_add`,s,b,b),r.call(h+`_add`,s,o,T),r.call(h+`_mul`,T,b,b),r.call(h+`_mul`,r.i32_const(k),w,T),r.call(h+`_add`,w,T,T),r.call(h+`_sub`,b,T,b),r.call(h+`_add`,w,w,x),r.call(h+`_mul`,a,u,w),r.call(h+`_mul`,u,r.i32_const(k),S),r.call(h+`_add`,a,S,S),r.call(h+`_add`,a,u,T),r.call(h+`_mul`,T,S,S),r.call(h+`_mul`,r.i32_const(k),w,T),r.call(h+`_add`,w,T,T),r.call(h+`_sub`,S,T,S),r.call(h+`_add`,w,w,C),r.call(h+`_sub`,v,i,d),r.call(h+`_add`,d,d,d),r.call(h+`_add`,v,d,d),r.call(h+`_add`,y,c,g),r.call(h+`_add`,g,g,g),r.call(h+`_add`,y,g,g),r.call(h+`_mul`,C,r.i32_const(j),T),r.call(h+`_add`,T,s,m),r.call(h+`_add`,m,m,m),r.call(h+`_add`,T,m,m),r.call(h+`_sub`,S,o,p),r.call(h+`_add`,p,p,p),r.call(h+`_add`,S,p,p),r.call(h+`_sub`,b,a,f),r.call(h+`_add`,f,f,f),r.call(h+`_add`,b,f,f),r.call(h+`_add`,x,u,_),r.call(h+`_add`,_,_,_),r.call(h+`_add`,x,_,_))}function he(t,r){let i=ne(t).map(e=>e==-1?255:e),a=e.alloc(i),o=e.addFunction(n+`__cyclotomicExp_`+r);o.addParam(`x`,`i32`),o.addParam(`r`,`i32`),o.addLocal(`bit`,`i32`),o.addLocal(`i`,`i32`);let s=o.getCodeBuilder(),c=s.getLocal(`x`),l=s.getLocal(`r`),d=s.i32_const(e.alloc(u));o.addCode(s.call(I+`_conjugate`,c,d),s.call(I+`_one`,l),s.if(s.teeLocal(`bit`,s.i32_load8_s(s.i32_const(i.length-1),a)),s.if(s.i32_eq(s.getLocal(`bit`),s.i32_const(1)),s.call(I+`_mul`,l,c,l),s.call(I+`_mul`,l,d,l))),s.setLocal(`i`,s.i32_const(i.length-2)),s.block(s.loop(s.call(n+`__cyclotomicSquare`,l,l),s.if(s.teeLocal(`bit`,s.i32_load8_s(s.getLocal(`i`),a)),s.if(s.i32_eq(s.getLocal(`bit`),s.i32_const(1)),s.call(I+`_mul`,l,c,l),s.call(I+`_mul`,l,d,l))),s.br_if(1,s.i32_eqz(s.getLocal(`i`))),s.setLocal(`i`,s.i32_sub(s.getLocal(`i`),s.i32_const(1))),s.br(0))))}function ge(){me(),he(4965661367192848881n,`w0`);let t=e.addFunction(n+`__finalExponentiationLastChunk`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=r.getLocal(`r`),o=r.i32_const(e.alloc(u)),s=r.i32_const(e.alloc(u)),c=r.i32_const(e.alloc(u)),l=r.i32_const(e.alloc(u)),d=r.i32_const(e.alloc(u)),f=r.i32_const(e.alloc(u)),p=r.i32_const(e.alloc(u)),m=r.i32_const(e.alloc(u)),h=r.i32_const(e.alloc(u)),g=r.i32_const(e.alloc(u)),_=r.i32_const(e.alloc(u)),v=r.i32_const(e.alloc(u)),y=r.i32_const(e.alloc(u)),b=r.i32_const(e.alloc(u)),x=r.i32_const(e.alloc(u)),S=r.i32_const(e.alloc(u)),C=r.i32_const(e.alloc(u)),w=r.i32_const(e.alloc(u)),T=r.i32_const(e.alloc(u)),E=r.i32_const(e.alloc(u)),D=r.i32_const(e.alloc(u));t.addCode(r.call(n+`__cyclotomicExp_w0`,i,o),r.call(I+`_conjugate`,o,o),r.call(n+`__cyclotomicSquare`,o,s),r.call(n+`__cyclotomicSquare`,s,c),r.call(I+`_mul`,c,s,l),r.call(n+`__cyclotomicExp_w0`,l,d),r.call(I+`_conjugate`,d,d),r.call(n+`__cyclotomicSquare`,d,f),r.call(n+`__cyclotomicExp_w0`,f,p),r.call(I+`_conjugate`,p,p),r.call(I+`_conjugate`,l,m),r.call(I+`_conjugate`,p,h),r.call(I+`_mul`,h,d,g),r.call(I+`_mul`,g,m,_),r.call(I+`_mul`,_,s,v),r.call(I+`_mul`,_,d,y),r.call(I+`_mul`,y,i,b),r.call(n+`__frobeniusMap1`,v,x),r.call(I+`_mul`,x,b,S),r.call(n+`__frobeniusMap2`,_,C),r.call(I+`_mul`,C,S,w),r.call(I+`_conjugate`,i,T),r.call(I+`_mul`,T,v,E),r.call(n+`__frobeniusMap3`,E,D),r.call(I+`_mul`,D,w,a))}function H(){pe(),ge();let t=e.addFunction(n+`_finalExponentiation`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=r.getLocal(`r`),o=r.i32_const(e.alloc(u));t.addCode(r.call(n+`__finalExponentiationFirstChunk`,i,o),r.call(n+`__finalExponentiationLastChunk`,o,a))}function _e(){let t=e.addFunction(n+`_finalExponentiationOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=e.alloc(G.bigInt2BytesLE(552484233613224096312617126783173147097382103762957654188882734314196910839907541213974502761540629817009608548654680343627701153829446747810907373256841551006201639677726139946029199968412598804882391702273019083653272047566316584365559776493027495458238373902875937659943504873220554161550525926302303331747463515644711876653177129578303191095900909191624817826566688241804408081892785725967931714097716709526092261278071952560171111444072049229123565057483750161460024353346284167282452756217662335528813519139808291170539072125381230815729071544861602750936964829313608137325426383735122175229541155376346436093930287402089517426973178917569713384748081827255472576937471496195752727188261435633271238710131736096299798168852925540549342330775279877006784354801422249722573783561685179618816480037695005515426162362431072245638324744480n,352)),i=t.getCodeBuilder();t.addCode(i.call(I+`_exp`,i.getLocal(`x`),i.i32_const(r),i.i32_const(352),i.getLocal(`r`)))}let U=e.alloc(te),ve=e.alloc(V);function ye(t){let r=e.addFunction(n+`_pairingEq`+t);for(let e=0;e<t;e++)r.addParam(`p_`+e,`i32`),r.addParam(`q_`+e,`i32`);r.addParam(`c`,`i32`),r.setReturnType(`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(u)),o=i.i32_const(e.alloc(u));r.addCode(i.call(I+`_one`,a));for(let e=0;e<t;e++)r.addCode(i.call(n+`_prepareG1`,i.getLocal(`p_`+e),i.i32_const(U))),r.addCode(i.call(n+`_prepareG2`,i.getLocal(`q_`+e),i.i32_const(ve))),r.addCode(i.call(n+`_millerLoop`,i.i32_const(U),i.i32_const(ve),o)),r.addCode(i.call(I+`_mul`,a,o,a));r.addCode(i.call(n+`_finalExponentiation`,a,a)),r.addCode(i.call(I+`_eq`,a,i.getLocal(`c`)))}function be(){let t=e.addFunction(n+`_pairing`);t.addParam(`p`,`i32`),t.addParam(`q`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.i32_const(e.alloc(u));t.addCode(r.call(n+`_prepareG1`,r.getLocal(`p`),r.i32_const(U))),t.addCode(r.call(n+`_prepareG2`,r.getLocal(`q`),r.i32_const(ve))),t.addCode(r.call(n+`_millerLoop`,r.i32_const(U),r.i32_const(ve),i)),t.addCode(r.call(n+`_finalExponentiation`,i,r.getLocal(`r`)))}ae(),oe(),ie(),ce(),ue(),le(),de();for(let t=0;t<10;t++)fe(t),e.exportFunction(n+`__frobeniusMap`+t);_e(),H();for(let t=1;t<=5;t++)ye(t),e.exportFunction(n+`_pairingEq`+t);be(),e.exportFunction(n+`_pairing`),e.exportFunction(n+`_prepareG1`),e.exportFunction(n+`_prepareG2`),e.exportFunction(n+`_millerLoop`),e.exportFunction(n+`_finalExponentiation`),e.exportFunction(n+`_finalExponentiationOld`),e.exportFunction(n+`__mulBy024`),e.exportFunction(n+`__mulBy024Old`),e.exportFunction(n+`__cyclotomicSquare`),e.exportFunction(n+`__cyclotomicExp_w0`)},K=ze,ln=Ct,un=Et,dn=At,fn=Nt,pn=zt,mn=Wt,hn=Gt,gn=Kt,_n=qt,{bitLength:vn,isOdd:yn,isNegative:bn}=W,xn=function(e,t){let n=t||`bls12381`;if(e.modules[n])return n;let r=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787n,i=52435875175126190479447740508185965837690552500527637822603658699938581184513n,a=Math.floor((vn(r-1n)-1)/64)+1,o=a*8,s=o,c=s*2,l=s*12,u=Math.floor((vn(i-1n)-1)/64)+1,d=u*8,f=d,p=e.alloc(K.bigInt2BytesLE(i,f)),m=ln(e,r,`f1m`,`intq`);un(e,i,`fr`,`frm`,`intr`);let h=e.alloc(K.bigInt2BytesLE(x(4n),s)),g=pn(e,`g1m`,`f1m`,h);mn(e,`frm`,`frm`,`frm`,`frm_mul`),hn(e,`pol`,`frm`),gn(e,`qap`,`frm`);let _=dn(e,`f1m_neg`,`f2m`,`f1m`),v=e.alloc([...K.bigInt2BytesLE(x(4n),s),...K.bigInt2BytesLE(x(4n),s)]),y=pn(e,`g2m`,`f2m`,v);function b(t,n){let r=e.addFunction(t);r.addParam(`pG`,`i32`),r.addParam(`pFr`,`i32`),r.addParam(`pr`,`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(d));r.addCode(i.call(`frm_fromMontgomery`,i.getLocal(`pFr`),a),i.call(n,i.getLocal(`pG`),a,i.i32_const(d),i.getLocal(`pr`))),e.exportFunction(t)}b(`g1m_timesFr`,`g1m_timesScalar`),mn(e,`g1m`,`g1m`,`frm`,`g1m_timesFr`),b(`g2m_timesFr`,`g2m_timesScalar`),mn(e,`g2m`,`g2m`,`frm`,`g2m_timesFr`),b(`g1m_timesFrAffine`,`g1m_timesScalarAffine`),b(`g2m_timesFrAffine`,`g2m_timesScalarAffine`),_n(e,`frm_batchApplyKey`,`fmr`,`frm`,d,d,d,`frm_mul`),_n(e,`g1m_batchApplyKey`,`g1m`,`frm`,o*3,o*3,d,`g1m_timesFr`),_n(e,`g1m_batchApplyKeyMixed`,`g1m`,`frm`,o*2,o*3,d,`g1m_timesFrAffine`),_n(e,`g2m_batchApplyKey`,`g2m`,`frm`,o*2*3,o*3*2,d,`g2m_timesFr`),_n(e,`g2m_batchApplyKeyMixed`,`g2m`,`frm`,o*2*2,o*3*2,d,`g2m_timesFrAffine`);function x(e){return BigInt(e)*(1n<<BigInt(s*8))%r}let S=[3685416753713387016781088315183077757961620795782546409894578378688607592378376318836054947676345821548104185464507n,1339506544944476473020471379941921221584933875938349620426543736416511423956333506472724655353366534992391756441569n,1n],C=e.alloc([...K.bigInt2BytesLE(x(S[0]),s),...K.bigInt2BytesLE(x(S[1]),s),...K.bigInt2BytesLE(x(S[2]),s)]),w=[0n,1n,0n],T=e.alloc([...K.bigInt2BytesLE(x(w[0]),s),...K.bigInt2BytesLE(x(w[1]),s),...K.bigInt2BytesLE(x(w[2]),s)]),E=[[352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160n,3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758n],[1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905n,927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582n],[1n,0n]],D=e.alloc([...K.bigInt2BytesLE(x(E[0][0]),s),...K.bigInt2BytesLE(x(E[0][1]),s),...K.bigInt2BytesLE(x(E[1][0]),s),...K.bigInt2BytesLE(x(E[1][1]),s),...K.bigInt2BytesLE(x(E[2][0]),s),...K.bigInt2BytesLE(x(E[2][1]),s)]),O=[[0n,0n],[1n,0n],[0n,0n]],k=e.alloc([...K.bigInt2BytesLE(x(O[0][0]),s),...K.bigInt2BytesLE(x(O[0][1]),s),...K.bigInt2BytesLE(x(O[1][0]),s),...K.bigInt2BytesLE(x(O[1][1]),s),...K.bigInt2BytesLE(x(O[2][0]),s),...K.bigInt2BytesLE(x(O[2][1]),s)]),A=e.alloc([...K.bigInt2BytesLE(x(1n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s),...K.bigInt2BytesLE(x(0n),s)]),j=e.alloc([...K.bigInt2BytesLE(x(1n),s),...K.bigInt2BytesLE(x(1n),s)]);function M(){let t=e.addFunction(_+`_mulNR`);t.addParam(`x`,`i32`),t.addParam(`pr`,`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s)),i=n.getLocal(`x`),a=n.i32_add(n.getLocal(`x`),n.i32_const(s)),o=n.getLocal(`pr`),c=n.i32_add(n.getLocal(`pr`),n.i32_const(s));t.addCode(n.call(m+`_copy`,i,r),n.call(m+`_sub`,i,a,o),n.call(m+`_add`,r,a,c))}M();let N=fn(e,_+`_mulNR`,`f6m`,`f2m`);function P(){let t=e.addFunction(N+`_mulNR`);t.addParam(`x`,`i32`),t.addParam(`pr`,`i32`);let n=t.getCodeBuilder(),r=n.i32_const(e.alloc(s*2));t.addCode(n.call(_+`_copy`,n.getLocal(`x`),r),n.call(_+`_mulNR`,n.i32_add(n.getLocal(`x`),n.i32_const(o*4)),n.getLocal(`pr`)),n.call(_+`_copy`,n.i32_add(n.getLocal(`x`),n.i32_const(o*2)),n.i32_add(n.getLocal(`pr`),n.i32_const(o*4))),n.call(_+`_copy`,r,n.i32_add(n.getLocal(`pr`),n.i32_const(o*2))))}P();let F=dn(e,N+`_mulNR`,`ftm`,N),I=re(15132376222941642752n),L=e.alloc(I),R=3*c,z=I.length-1,B=I.reduce((e,t)=>e+(t==0?0:1),0)+z+1,ee=6*o,te=3*o*2+B*R,V=15132376222941642752n;e.modules[n]={n64q:a,n64r:u,n8q:o,n8r:d,pG1gen:C,pG1zero:T,pG1b:h,pG2gen:D,pG2zero:k,pG2b:v,pq:e.modules.f1m.pq,pr:p,pOneT:A,r:i,q:r,prePSize:ee,preQSize:te};function ne(e){let t=e,n=[];for(;t>0n;){if(yn(t)){let e=2-Number(t%4n);n.push(e),t-=BigInt(e)}else n.push(0);t>>=1n}return n}function re(e){let t=e,n=[];for(;t>0n;)yn(t)?n.push(1):n.push(0),t>>=1n;return n}function ie(){let t=e.addFunction(n+`_prepareG1`);t.addParam(`pP`,`i32`),t.addParam(`ppreP`,`i32`);let r=t.getCodeBuilder();t.addCode(r.call(g+`_normalize`,r.getLocal(`pP`),r.getLocal(`ppreP`)))}function ae(){let t=e.addFunction(n+`_prepDblStep`);t.addParam(`R`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`R`),a=r.i32_add(r.getLocal(`R`),r.i32_const(2*o)),s=r.i32_add(r.getLocal(`R`),r.i32_const(4*o)),l=r.getLocal(`r`),u=r.i32_add(r.getLocal(`r`),r.i32_const(2*o)),d=r.i32_add(r.getLocal(`r`),r.i32_const(4*o)),f=r.i32_const(e.alloc(c)),p=r.i32_const(e.alloc(c)),m=r.i32_const(e.alloc(c)),h=r.i32_const(e.alloc(c)),g=r.i32_const(e.alloc(c));t.addCode(r.call(_+`_square`,i,l),r.call(_+`_square`,a,p),r.call(_+`_square`,p,m),r.call(_+`_add`,p,i,u),r.call(_+`_square`,u,u),r.call(_+`_sub`,u,l,u),r.call(_+`_sub`,u,m,u),r.call(_+`_add`,u,u,u),r.call(_+`_add`,l,l,h),r.call(_+`_add`,h,l,h),r.call(_+`_add`,i,h,d),r.call(_+`_square`,h,g),r.call(_+`_square`,s,f),r.call(_+`_sub`,g,u,i),r.call(_+`_sub`,i,u,i),r.call(_+`_add`,s,a,s),r.call(_+`_square`,s,s),r.call(_+`_sub`,s,p,s),r.call(_+`_sub`,s,f,s),r.call(_+`_sub`,u,i,a),r.call(_+`_mul`,a,h,a),r.call(_+`_add`,m,m,m),r.call(_+`_add`,m,m,m),r.call(_+`_add`,m,m,m),r.call(_+`_sub`,a,m,a),r.call(_+`_mul`,h,f,u),r.call(_+`_add`,u,u,u),r.call(_+`_neg`,u,u),r.call(_+`_square`,d,d),r.call(_+`_sub`,d,l,d),r.call(_+`_sub`,d,g,d),r.call(_+`_add`,p,p,p),r.call(_+`_add`,p,p,p),r.call(_+`_sub`,d,p,d),r.call(_+`_mul`,s,f,l),r.call(_+`_add`,l,l,l))}function oe(){let t=e.addFunction(n+`_prepAddStep`);t.addParam(`R`,`i32`),t.addParam(`Q`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`R`),a=r.i32_add(r.getLocal(`R`),r.i32_const(2*o)),s=r.i32_add(r.getLocal(`R`),r.i32_const(4*o)),l=r.getLocal(`Q`),u=r.i32_add(r.getLocal(`Q`),r.i32_const(2*o)),d=r.getLocal(`r`),f=r.i32_add(r.getLocal(`r`),r.i32_const(2*o)),p=r.i32_add(r.getLocal(`r`),r.i32_const(4*o)),m=r.i32_const(e.alloc(c)),h=r.i32_const(e.alloc(c)),g=r.i32_const(e.alloc(c)),v=r.i32_const(e.alloc(c)),y=r.i32_const(e.alloc(c)),b=r.i32_const(e.alloc(c)),x=r.i32_const(e.alloc(c)),S=r.i32_const(e.alloc(c)),C=r.i32_const(e.alloc(c)),w=r.i32_const(e.alloc(c)),T=r.i32_const(e.alloc(c));t.addCode(r.call(_+`_square`,s,m),r.call(_+`_square`,u,h),r.call(_+`_mul`,m,l,v),r.call(_+`_add`,u,s,f),r.call(_+`_square`,f,f),r.call(_+`_sub`,f,h,f),r.call(_+`_sub`,f,m,f),r.call(_+`_mul`,f,m,f),r.call(_+`_sub`,v,i,y),r.call(_+`_square`,y,b),r.call(_+`_add`,b,b,x),r.call(_+`_add`,x,x,x),r.call(_+`_mul`,x,y,S),r.call(_+`_sub`,f,a,C),r.call(_+`_sub`,C,a,C),r.call(_+`_mul`,C,l,p),r.call(_+`_mul`,x,i,w),r.call(_+`_square`,C,i),r.call(_+`_sub`,i,S,i),r.call(_+`_sub`,i,w,i),r.call(_+`_sub`,i,w,i),r.call(_+`_add`,s,y,s),r.call(_+`_square`,s,s),r.call(_+`_sub`,s,m,s),r.call(_+`_sub`,s,b,s),r.call(_+`_add`,u,s,d),r.call(_+`_sub`,w,i,T),r.call(_+`_mul`,T,C,T),r.call(_+`_mul`,a,S,v),r.call(_+`_add`,v,v,v),r.call(_+`_sub`,T,v,a),r.call(_+`_square`,d,d),r.call(_+`_sub`,d,h,d),r.call(_+`_square`,s,g),r.call(_+`_sub`,d,g,d),r.call(_+`_add`,p,p,p),r.call(_+`_sub`,p,d,p),r.call(_+`_add`,s,s,d),r.call(_+`_neg`,C,C),r.call(_+`_add`,C,C,f))}function se(){let t=e.addFunction(n+`_prepareG2`);t.addParam(`pQ`,`i32`),t.addParam(`ppreQ`,`i32`),t.addLocal(`pCoef`,`i32`),t.addLocal(`i`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pQ`),a=e.alloc(c*3),o=r.i32_const(a),s=r.getLocal(`ppreQ`);t.addCode(r.call(y+`_normalize`,i,s),r.if(r.call(y+`_isZero`,s),r.ret([])),r.call(y+`_copy`,s,o),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`ppreQ`),r.i32_const(c*3)))),t.addCode(r.setLocal(`i`,r.i32_const(I.length-2)),r.block(r.loop(r.call(n+`_prepDblStep`,o,r.getLocal(`pCoef`)),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(R))),r.if(r.i32_load8_s(r.getLocal(`i`),L),[...r.call(n+`_prepAddStep`,o,s,r.getLocal(`pCoef`)),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(R)))]),r.br_if(1,r.i32_eqz(r.getLocal(`i`))),r.setLocal(`i`,r.i32_sub(r.getLocal(`i`),r.i32_const(1))),r.br(0))))}function ce(){let t=e.addFunction(N+`_mul1`);t.addParam(`pA`,`i32`),t.addParam(`pC1`,`i32`),t.addParam(`pR`,`i32`);let n=t.getCodeBuilder(),r=n.getLocal(`pA`),i=n.i32_add(n.getLocal(`pA`),n.i32_const(s*2)),a=n.i32_add(n.getLocal(`pA`),n.i32_const(s*4)),o=n.getLocal(`pC1`),c=n.getLocal(`pR`),l=n.i32_add(n.getLocal(`pR`),n.i32_const(s*2)),u=n.i32_add(n.getLocal(`pR`),n.i32_const(s*4)),d=n.i32_const(e.alloc(s*2)),f=n.i32_const(e.alloc(s*2));t.addCode(n.call(_+`_add`,r,i,d),n.call(_+`_add`,i,a,f),n.call(_+`_mul`,i,o,u),n.call(_+`_mul`,f,o,c),n.call(_+`_sub`,c,u,c),n.call(_+`_mulNR`,c,c),n.call(_+`_mul`,d,o,l),n.call(_+`_sub`,l,u,l))}ce();function le(){let t=e.addFunction(N+`_mul01`);t.addParam(`pA`,`i32`),t.addParam(`pC0`,`i32`),t.addParam(`pC1`,`i32`),t.addParam(`pR`,`i32`);let n=t.getCodeBuilder(),r=n.getLocal(`pA`),i=n.i32_add(n.getLocal(`pA`),n.i32_const(s*2)),a=n.i32_add(n.getLocal(`pA`),n.i32_const(s*4)),o=n.getLocal(`pC0`),c=n.getLocal(`pC1`),l=n.getLocal(`pR`),u=n.i32_add(n.getLocal(`pR`),n.i32_const(s*2)),d=n.i32_add(n.getLocal(`pR`),n.i32_const(s*4)),f=n.i32_const(e.alloc(s*2)),p=n.i32_const(e.alloc(s*2)),m=n.i32_const(e.alloc(s*2)),h=n.i32_const(e.alloc(s*2));t.addCode(n.call(_+`_mul`,r,o,f),n.call(_+`_mul`,i,c,p),n.call(_+`_add`,r,i,m),n.call(_+`_add`,r,a,h),n.call(_+`_add`,i,a,l),n.call(_+`_mul`,l,c,l),n.call(_+`_sub`,l,p,l),n.call(_+`_mulNR`,l,l),n.call(_+`_add`,l,f,l),n.call(_+`_add`,o,c,u),n.call(_+`_mul`,u,m,u),n.call(_+`_sub`,u,f,u),n.call(_+`_sub`,u,p,u),n.call(_+`_mul`,h,o,d),n.call(_+`_sub`,d,f,d),n.call(_+`_add`,d,p,d))}le();function ue(){let t=e.addFunction(F+`_mul014`);t.addParam(`pA`,`i32`),t.addParam(`pC0`,`i32`),t.addParam(`pC1`,`i32`),t.addParam(`pC4`,`i32`),t.addParam(`pR`,`i32`);let n=t.getCodeBuilder(),r=n.getLocal(`pA`),i=n.i32_add(n.getLocal(`pA`),n.i32_const(s*6)),a=n.getLocal(`pC0`),o=n.getLocal(`pC1`),c=n.getLocal(`pC4`),l=n.i32_const(e.alloc(s*6)),u=n.i32_const(e.alloc(s*6)),d=n.i32_const(e.alloc(s*2)),f=n.getLocal(`pR`),p=n.i32_add(n.getLocal(`pR`),n.i32_const(s*6));t.addCode(n.call(N+`_mul01`,r,a,o,l),n.call(N+`_mul1`,i,c,u),n.call(_+`_add`,o,c,d),n.call(N+`_add`,i,r,p),n.call(N+`_mul01`,p,a,d,p),n.call(N+`_sub`,p,l,p),n.call(N+`_sub`,p,u,p),n.call(N+`_copy`,u,f),n.call(N+`_mulNR`,f,f),n.call(N+`_add`,f,l,f))}ue();function de(){let t=e.addFunction(n+`_ell`);t.addParam(`pP`,`i32`),t.addParam(`pCoefs`,`i32`),t.addParam(`pF`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`pP`),a=r.i32_add(r.getLocal(`pP`),r.i32_const(o)),c=r.getLocal(`pF`),l=r.getLocal(`pCoefs`),u=r.i32_add(r.getLocal(`pCoefs`),r.i32_const(s)),d=r.i32_add(r.getLocal(`pCoefs`),r.i32_const(s*2)),f=r.i32_add(r.getLocal(`pCoefs`),r.i32_const(s*3)),p=r.i32_add(r.getLocal(`pCoefs`),r.i32_const(s*4)),h=e.alloc(s*2),g=r.i32_const(h),_=r.i32_const(h),v=r.i32_const(h+s),y=e.alloc(s*2),b=r.i32_const(y),x=r.i32_const(y),S=r.i32_const(y+s);t.addCode(r.call(m+`_mul`,l,a,_),r.call(m+`_mul`,u,a,v),r.call(m+`_mul`,d,i,x),r.call(m+`_mul`,f,i,S),r.call(F+`_mul014`,c,p,b,g,c))}de();function fe(){let t=e.addFunction(n+`_millerLoop`);t.addParam(`ppreP`,`i32`),t.addParam(`ppreQ`,`i32`),t.addParam(`r`,`i32`),t.addLocal(`pCoef`,`i32`),t.addLocal(`i`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`ppreP`),a=r.getLocal(`pCoef`),o=r.getLocal(`r`);t.addCode(r.call(F+`_one`,o),r.if(r.call(g+`_isZero`,i),r.ret([])),r.if(r.call(g+`_isZero`,r.getLocal(`ppreQ`)),r.ret([])),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`ppreQ`),r.i32_const(c*3))),r.setLocal(`i`,r.i32_const(I.length-2)),r.block(r.loop(r.call(n+`_ell`,i,a,o),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(R))),r.if(r.i32_load8_s(r.getLocal(`i`),L),[...r.call(n+`_ell`,i,a,o),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(R)))]),r.call(F+`_square`,o,o),r.br_if(1,r.i32_eq(r.getLocal(`i`),r.i32_const(1))),r.setLocal(`i`,r.i32_sub(r.getLocal(`i`),r.i32_const(1))),r.br(0))),r.call(n+`_ell`,i,a,o)),t.addCode(r.call(F+`_conjugate`,o,o))}function pe(t){let n=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n,151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n],[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n,877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n,3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n,3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n]]],i=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[0n,4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[0n,1n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[0n,793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n]],[[1n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n]]],a=e.addFunction(F+`_frobeniusMap`+t);a.addParam(`x`,`i32`),a.addParam(`r`,`i32`);let l=a.getCodeBuilder();for(let r=0;r<6;r++){let d=r==0?l.getLocal(`x`):l.i32_add(l.getLocal(`x`),l.i32_const(r*c)),f=d,p=l.i32_add(l.getLocal(`x`),l.i32_const(r*c+s)),h=r==0?l.getLocal(`r`):l.i32_add(l.getLocal(`r`),l.i32_const(r*c)),g=h,v=l.i32_add(l.getLocal(`r`),l.i32_const(r*c+s)),y=u(n[Math.floor(r/3)][t%12],i[r%3][t%6]),b=e.alloc([...K.bigInt2BytesLE(x(y[0]),o),...K.bigInt2BytesLE(x(y[1]),o)]);t%2==1?a.addCode(l.call(m+`_copy`,f,g),l.call(m+`_neg`,p,v),l.call(_+`_mul`,h,l.i32_const(b),h)):a.addCode(l.call(_+`_mul`,d,l.i32_const(b),h))}function u(e,t){let n=e[0],i=e[1],a=t[0],o=t[1],s=[(n*a-i*o)%r,(n*o+i*a)%r];return bn(s[0])&&(s[0]+=r),s}}function me(){let t=e.addFunction(n+`__cyclotomicSquare`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=r.i32_add(r.getLocal(`x`),r.i32_const(c)),o=r.i32_add(r.getLocal(`x`),r.i32_const(2*c)),s=r.i32_add(r.getLocal(`x`),r.i32_const(3*c)),l=r.i32_add(r.getLocal(`x`),r.i32_const(4*c)),u=r.i32_add(r.getLocal(`x`),r.i32_const(5*c)),d=r.getLocal(`r`),f=r.i32_add(r.getLocal(`r`),r.i32_const(c)),p=r.i32_add(r.getLocal(`r`),r.i32_const(2*c)),m=r.i32_add(r.getLocal(`r`),r.i32_const(3*c)),h=r.i32_add(r.getLocal(`r`),r.i32_const(4*c)),g=r.i32_add(r.getLocal(`r`),r.i32_const(5*c)),v=r.i32_const(e.alloc(c)),y=r.i32_const(e.alloc(c)),b=r.i32_const(e.alloc(c)),x=r.i32_const(e.alloc(c)),S=r.i32_const(e.alloc(c)),C=r.i32_const(e.alloc(c)),w=r.i32_const(e.alloc(c)),T=r.i32_const(e.alloc(c));t.addCode(r.call(_+`_mul`,i,l,w),r.call(_+`_mulNR`,l,v),r.call(_+`_add`,i,v,v),r.call(_+`_add`,i,l,T),r.call(_+`_mul`,T,v,v),r.call(_+`_mulNR`,w,T),r.call(_+`_add`,w,T,T),r.call(_+`_sub`,v,T,v),r.call(_+`_add`,w,w,y),r.call(_+`_mul`,s,o,w),r.call(_+`_mulNR`,o,b),r.call(_+`_add`,s,b,b),r.call(_+`_add`,s,o,T),r.call(_+`_mul`,T,b,b),r.call(_+`_mulNR`,w,T),r.call(_+`_add`,w,T,T),r.call(_+`_sub`,b,T,b),r.call(_+`_add`,w,w,x),r.call(_+`_mul`,a,u,w),r.call(_+`_mulNR`,u,S),r.call(_+`_add`,a,S,S),r.call(_+`_add`,a,u,T),r.call(_+`_mul`,T,S,S),r.call(_+`_mulNR`,w,T),r.call(_+`_add`,w,T,T),r.call(_+`_sub`,S,T,S),r.call(_+`_add`,w,w,C),r.call(_+`_sub`,v,i,d),r.call(_+`_add`,d,d,d),r.call(_+`_add`,v,d,d),r.call(_+`_add`,y,l,h),r.call(_+`_add`,h,h,h),r.call(_+`_add`,y,h,h),r.call(_+`_mul`,C,r.i32_const(j),T),r.call(_+`_add`,T,s,m),r.call(_+`_add`,m,m,m),r.call(_+`_add`,T,m,m),r.call(_+`_sub`,S,o,p),r.call(_+`_add`,p,p,p),r.call(_+`_add`,S,p,p),r.call(_+`_sub`,b,a,f),r.call(_+`_add`,f,f,f),r.call(_+`_add`,b,f,f),r.call(_+`_add`,x,u,g),r.call(_+`_add`,g,g,g),r.call(_+`_add`,x,g,g))}function he(t,r,i){let a=ne(t).map(e=>e==-1?255:e),o=e.alloc(a),s=e.addFunction(n+`__cyclotomicExp_`+i);s.addParam(`x`,`i32`),s.addParam(`r`,`i32`),s.addLocal(`bit`,`i32`),s.addLocal(`i`,`i32`);let c=s.getCodeBuilder(),u=c.getLocal(`x`),d=c.getLocal(`r`),f=c.i32_const(e.alloc(l));s.addCode(c.call(F+`_conjugate`,u,f),c.call(F+`_one`,d),c.if(c.teeLocal(`bit`,c.i32_load8_s(c.i32_const(a.length-1),o)),c.if(c.i32_eq(c.getLocal(`bit`),c.i32_const(1)),c.call(F+`_mul`,d,u,d),c.call(F+`_mul`,d,f,d))),c.setLocal(`i`,c.i32_const(a.length-2)),c.block(c.loop(c.call(n+`__cyclotomicSquare`,d,d),c.if(c.teeLocal(`bit`,c.i32_load8_s(c.getLocal(`i`),o)),c.if(c.i32_eq(c.getLocal(`bit`),c.i32_const(1)),c.call(F+`_mul`,d,u,d),c.call(F+`_mul`,d,f,d))),c.br_if(1,c.i32_eqz(c.getLocal(`i`))),c.setLocal(`i`,c.i32_sub(c.getLocal(`i`),c.i32_const(1))),c.br(0)))),r&&s.addCode(c.call(F+`_conjugate`,d,d))}function ge(){me(),he(V,!0,`w0`);let t=e.addFunction(n+`_finalExponentiation`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.getLocal(`x`),a=r.getLocal(`r`),o=r.i32_const(e.alloc(l)),s=r.i32_const(e.alloc(l)),c=r.i32_const(e.alloc(l)),u=r.i32_const(e.alloc(l)),d=r.i32_const(e.alloc(l)),f=r.i32_const(e.alloc(l)),p=r.i32_const(e.alloc(l));t.addCode(r.call(F+`_frobeniusMap6`,i,o),r.call(F+`_inverse`,i,s),r.call(F+`_mul`,o,s,c),r.call(F+`_copy`,c,s),r.call(F+`_frobeniusMap2`,c,c),r.call(F+`_mul`,c,s,c),r.call(n+`__cyclotomicSquare`,c,s),r.call(F+`_conjugate`,s,s),r.call(n+`__cyclotomicExp_w0`,c,u),r.call(n+`__cyclotomicSquare`,u,d),r.call(F+`_mul`,s,u,f),r.call(n+`__cyclotomicExp_w0`,f,s),r.call(n+`__cyclotomicExp_w0`,s,o),r.call(n+`__cyclotomicExp_w0`,o,p),r.call(F+`_mul`,p,d,p),r.call(n+`__cyclotomicExp_w0`,p,d),r.call(F+`_conjugate`,f,f),r.call(F+`_mul`,d,f,d),r.call(F+`_mul`,d,c,d),r.call(F+`_conjugate`,c,f),r.call(F+`_mul`,s,c,s),r.call(F+`_frobeniusMap3`,s,s),r.call(F+`_mul`,p,f,p),r.call(F+`_frobeniusMap1`,p,p),r.call(F+`_mul`,u,o,u),r.call(F+`_frobeniusMap2`,u,u),r.call(F+`_mul`,u,s,u),r.call(F+`_mul`,u,p,u),r.call(F+`_mul`,u,d,a))}function H(){let t=e.addFunction(n+`_finalExponentiationOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=e.alloc(K.bigInt2BytesLE(322277361516934140462891564586510139908379969514828494218366688025288661041104682794998680497580008899973249814104447692778988208376779573819485263026159588510513834876303014016798809919343532899164848730280942609956670917565618115867287399623286813270357901731510188149934363360381614501334086825442271920079363289954510565375378443704372994881406797882676971082200626541916413184642520269678897559532260949334760604962086348898118982248842634379637598665468817769075878555493752214492790122785850202957575200176084204422751485957336465472324810982833638490904279282696134323072515220044451592646885410572234451732790590013479358343841220074174848221722017083597872017638514103174122784843925578370430843522959600095676285723737049438346544753168912974976791528535276317256904336520179281145394686565050419250614107803233314658825463117900250701199181529205942363159325765991819433914303908860460720581408201373164047773794825411011922305820065611121544561808414055302212057471395719432072209245600258134364584636810093520285711072578721435517884103526483832733289802426157301542744476740008494780363354305116978805620671467071400711358839553375340724899735460480144599782014906586543813292157922220645089192130209334926661588737007768565838519456601560804957985667880395221049249803753582637708560n,544)),i=t.getCodeBuilder();t.addCode(i.call(F+`_exp`,i.getLocal(`x`),i.i32_const(r),i.i32_const(544),i.getLocal(`r`)))}let _e=e.alloc(ee),U=e.alloc(te);function ve(t){let r=e.addFunction(n+`_pairingEq`+t);for(let e=0;e<t;e++)r.addParam(`p_`+e,`i32`),r.addParam(`q_`+e,`i32`);r.addParam(`c`,`i32`),r.setReturnType(`i32`);let i=r.getCodeBuilder(),a=i.i32_const(e.alloc(l)),o=i.i32_const(e.alloc(l));r.addCode(i.call(F+`_one`,a));for(let e=0;e<t;e++)r.addCode(i.call(n+`_prepareG1`,i.getLocal(`p_`+e),i.i32_const(_e))),r.addCode(i.call(n+`_prepareG2`,i.getLocal(`q_`+e),i.i32_const(U))),r.addCode(i.if(i.i32_eqz(i.call(g+`_inGroupAffine`,i.i32_const(_e))),i.ret(i.i32_const(0))),i.if(i.i32_eqz(i.call(y+`_inGroupAffine`,i.i32_const(U))),i.ret(i.i32_const(0)))),r.addCode(i.call(n+`_millerLoop`,i.i32_const(_e),i.i32_const(U),o)),r.addCode(i.call(F+`_mul`,a,o,a));r.addCode(i.call(n+`_finalExponentiation`,a,a)),r.addCode(i.call(F+`_eq`,a,i.getLocal(`c`)))}function ye(){let t=e.addFunction(n+`_pairing`);t.addParam(`p`,`i32`),t.addParam(`q`,`i32`),t.addParam(`r`,`i32`);let r=t.getCodeBuilder(),i=r.i32_const(e.alloc(l));t.addCode(r.call(n+`_prepareG1`,r.getLocal(`p`),r.i32_const(_e))),t.addCode(r.call(n+`_prepareG2`,r.getLocal(`q`),r.i32_const(U))),t.addCode(r.call(n+`_millerLoop`,r.i32_const(_e),r.i32_const(U),i)),t.addCode(r.call(n+`_finalExponentiation`,i,r.getLocal(`r`)))}function be(){let t=e.addFunction(y+`_inGroupAffine`);t.addParam(`p`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=[2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279894n,2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279893n],i=[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],a=n.i32_const(e.alloc([...K.bigInt2BytesLE(x(r[0]),o),...K.bigInt2BytesLE(x(r[1]),o)])),l=n.i32_const(e.alloc(K.bigInt2BytesLE(x(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),o))),u=n.i32_const(e.alloc([...K.bigInt2BytesLE(x(i[0]),o),...K.bigInt2BytesLE(x(i[1]),o)])),d=n.i32_const(e.alloc(K.bigInt2BytesLE(V,8))),f=n.getLocal(`p`),p=n.i32_add(n.getLocal(`p`),n.i32_const(c)),h=n.i32_const(e.alloc(s)),g=n.i32_const(e.alloc(c)),v=n.i32_const(e.alloc(c)),b=e.alloc(c*2),S=n.i32_const(b),C=n.i32_const(b),w=n.i32_const(b),T=n.i32_const(b+s),E=n.i32_const(b+c),D=n.i32_const(b+c),O=n.i32_const(b+c+s),k=e.alloc(c*3),A=n.i32_const(k),j=n.i32_const(k),M=n.i32_const(k),N=n.i32_const(k+s),P=n.i32_const(k+c),F=n.i32_const(k+c),I=n.i32_const(k+c+s),L=n.i32_const(k+c*2);t.addCode(n.if(n.call(y+`_isZeroAffine`,n.getLocal(`p`)),n.ret(n.i32_const(1))),n.if(n.i32_eqz(n.call(y+`_inCurveAffine`,n.getLocal(`p`))),n.ret(n.i32_const(0))),n.call(_+`_mul`,f,a,g),n.call(_+`_mul`,p,a,v),n.call(_+`_mul1`,g,l,C),n.call(_+`_neg`,v,E),n.call(_+`_neg`,g,j),n.call(_+`_mul`,v,u,P),n.call(m+`_sub`,w,T,h),n.call(m+`_add`,w,T,T),n.call(m+`_copy`,h,w),n.call(m+`_sub`,D,O,h),n.call(m+`_add`,D,O,O),n.call(m+`_copy`,h,D),n.call(m+`_add`,M,N,h),n.call(m+`_sub`,M,N,N),n.call(m+`_copy`,h,M),n.call(m+`_sub`,I,F,h),n.call(m+`_add`,F,I,I),n.call(m+`_copy`,h,F),n.call(_+`_one`,L),n.call(y+`_timesScalar`,A,d,n.i32_const(8),A),n.call(y+`_addMixed`,A,S,A),n.ret(n.call(y+`_eqMixed`,A,n.getLocal(`p`))));let R=e.addFunction(y+`_inGroup`);R.addParam(`pIn`,`i32`),R.setReturnType(`i32`);let z=R.getCodeBuilder(),B=z.i32_const(e.alloc(c*2));R.addCode(z.call(y+`_toAffine`,z.getLocal(`pIn`),B),z.ret(z.call(y+`_inGroupAffine`,B)))}function xe(){let t=e.addFunction(g+`_inGroupAffine`);t.addParam(`p`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=(V*V-1n)/3n,i=n.i32_const(e.alloc(K.bigInt2BytesLE(x(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),o))),a=n.i32_const(e.alloc(K.bigInt2BytesLE(x(793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n),o))),c=n.i32_const(e.alloc(K.bigInt2BytesLE(r,16))),l=n.getLocal(`p`),u=n.i32_add(n.getLocal(`p`),n.i32_const(s)),d=e.alloc(s*3),f=n.i32_const(d),p=n.i32_const(d),h=n.i32_const(d+s),_=e.alloc(s*2),v=n.i32_const(_),y=n.i32_const(_),b=n.i32_const(_+s);t.addCode(n.if(n.call(g+`_isZeroAffine`,n.getLocal(`p`)),n.ret(n.i32_const(1))),n.if(n.i32_eqz(n.call(g+`_inCurveAffine`,n.getLocal(`p`))),n.ret(n.i32_const(0))),n.call(m+`_mul`,l,i,p),n.call(m+`_copy`,u,h),n.call(m+`_mul`,l,a,y),n.call(m+`_copy`,u,b),n.call(g+`_doubleAffine`,f,f),n.call(g+`_subMixed`,f,n.getLocal(`p`),f),n.call(g+`_subMixed`,f,v,f),n.call(g+`_timesScalar`,f,c,n.i32_const(16),f),n.ret(n.call(g+`_eqMixed`,f,v)));let S=e.addFunction(g+`_inGroup`);S.addParam(`pIn`,`i32`),S.setReturnType(`i32`);let C=S.getCodeBuilder(),w=C.i32_const(e.alloc(s*2));S.addCode(C.call(g+`_toAffine`,C.getLocal(`pIn`),w),C.ret(C.call(g+`_inGroupAffine`,w)))}for(let t=0;t<10;t++)pe(t),e.exportFunction(F+`_frobeniusMap`+t);xe(),be(),oe(),ae(),ie(),se(),fe(),H(),ge();for(let t=1;t<=5;t++)ve(t),e.exportFunction(n+`_pairingEq`+t);ye(),e.exportFunction(n+`_pairing`),e.exportFunction(n+`_prepareG1`),e.exportFunction(n+`_prepareG2`),e.exportFunction(n+`_millerLoop`),e.exportFunction(n+`_finalExponentiation`),e.exportFunction(n+`_finalExponentiationOld`),e.exportFunction(n+`__cyclotomicSquare`),e.exportFunction(n+`__cyclotomicExp_w0`),e.exportFunction(N+`_mul1`),e.exportFunction(N+`_mul01`),e.exportFunction(F+`_mul014`),e.exportFunction(g+`_inGroupAffine`),e.exportFunction(g+`_inGroup`),e.exportFunction(y+`_inGroupAffine`),e.exportFunction(y+`_inGroup`)},Sn=cn,Cn=xn;function wn(e){if(typeof e==`bigint`||e.eq!==void 0)return e.toString(10);if(e instanceof Uint8Array)return fe(e,0);if(Array.isArray(e))return e.map(wn);if(typeof e==`object`){let t={};return Object.keys(e).forEach(n=>{t[n]=wn(e[n])}),t}else return e}function Tn(e){if(typeof e==`string`&&/^[0-9]+$/.test(e)||typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))return BigInt(e);if(Array.isArray(e))return e.map(Tn);if(typeof e==`object`){if(e===null)return null;let t={};return Object.keys(e).forEach(n=>{t[n]=Tn(e[n])}),t}else return e}function En(e){let t=BigInt(0),n=e.length,r=0,i=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;n>0;)n>=4?(n-=4,t+=BigInt(i.getUint32(n))<<BigInt(r*8),r+=4):n>=2?(n-=2,t+=BigInt(i.getUint16(n))<<BigInt(r*8),r+=2):(--n,t+=BigInt(i.getUint8(n))<<BigInt(r*8),r+=1);return t}function Dn(e,t){let n=e,r=new Uint8Array(t),i=new DataView(r.buffer),a=t;for(;a>0;)a-4>=0?(a-=4,i.setUint32(a,Number(n&BigInt(4294967295))),n>>=BigInt(32)):a-2>=0?(a-=2,i.setUint16(a,Number(n&BigInt(65535))),n>>=BigInt(16)):(--a,i.setUint8(a,Number(n&BigInt(255))),n>>=BigInt(8));if(n)throw Error(`Number does not fit in this length`);return r}function On(e){let t=BigInt(0),n=0,r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;n<e.length;)n+4<=e.length?(t+=BigInt(r.getUint32(n,!0))<<BigInt(n*8),n+=4):n+2<=e.length?(t+=BigInt(r.getUint16(n,!0))<<BigInt(n*8),n+=2):(t+=BigInt(r.getUint8(n,!0))<<BigInt(n*8),n+=1);return t}function kn(e,t){let n=e;t===void 0&&(t=Math.floor((v(e)-1)/8)+1,t==0&&(t=1));let r=new Uint8Array(t),i=new DataView(r.buffer),a=0;for(;a<t;)a+4<=t?(i.setUint32(a,Number(n&BigInt(4294967295)),!0),a+=4,n>>=BigInt(32)):a+2<=t?(i.setUint16(a,Number(n&BigInt(65535)),!0),a+=2,n>>=BigInt(16)):(i.setUint8(a,Number(n&BigInt(255)),!0),a+=1,n>>=BigInt(8));if(n)throw Error(`Number does not fit in this length`);return r}function An(e,t){if(typeof t==`bigint`||t.eq!==void 0)return t.toString(10);if(t instanceof Uint8Array)return e.toString(e.e(t));if(Array.isArray(t))return t.map(An.bind(this,e));if(typeof t==`object`){let n={};return Object.keys(t).forEach(r=>{n[r]=An(e,t[r])}),n}else return t}function jn(e,t){if(typeof t==`string`&&/^[0-9]+$/.test(t)||typeof t==`string`&&/^0x[0-9a-fA-F]+$/.test(t))return e.e(t);if(Array.isArray(t))return t.map(jn.bind(this,e));if(typeof t==`object`){if(t===null)return null;let n={};return Object.keys(t).forEach(r=>{n[r]=jn(e,t[r])}),n}else return t}var Mn=[];for(let e=0;e<256;e++)Mn[e]=Nn(e,8);function Nn(e,t){let n=0,r=e;for(let e=0;e<t;e++)n<<=1,n|=r&1,r>>=1;return n}function Pn(e,t){return(Mn[e>>>24]|Mn[e>>>16&255]<<8|Mn[e>>>8&255]<<16|Mn[e&255]<<24)>>>32-t}function q(e){return(e&4294901760?(e&=4294901760,16):0)|(e&4278255360?(e&=4278255360,8):0)|(e&4042322160?(e&=4042322160,4):0)|(e&3435973836?(e&=3435973836,2):0)|(e&2863311530)!=0}function Fn(e,t){let n=e.byteLength/t,r=q(n);if(n!=1<<r)throw Error(`Invalid number of pointers`);for(let i=0;i<n;i++){let n=Pn(i,r);if(i>n){let r=e.slice(i*t,(i+1)*t);e.set(e.slice(n*t,(n+1)*t),i*t),e.set(r,n*t)}}}function In(e,t){let n=new Uint8Array(t*e.length);for(let r=0;r<e.length;r++)n.set(e[r],r*t);return n}function Ln(e,t){let n=e.byteLength/t,r=Array(n);for(let i=0;i<n;i++)r[i]=e.slice(i*t,i*t+t);return r}var Rn=Object.freeze({__proto__:null,array2buffer:In,beBuff2int:En,beInt2Buff:Dn,bitReverse:Pn,buffReverseBits:Fn,buffer2array:Ln,leBuff2int:On,leInt2Buff:kn,log2:q,stringifyBigInts:wn,stringifyFElements:An,unstringifyBigInts:Tn,unstringifyFElements:jn}),J=1<<30,Y=class e{constructor(e){this.buffers=[],this.byteLength=e;for(let t=0;t<e;t+=J){let n=Math.min(e-t,J);this.buffers.push(new Uint8Array(n))}}slice(t,n){n===void 0&&(n=this.byteLength),t===void 0&&(t=0);let r=n-t,i=Math.floor(t/J);if(i==Math.floor((t+r-1)/J)||r==0)return this.buffers[i].slice(t%J,t%J+r);let a,o=i,s=t%J,c=r;for(;c>0;){let t=s+c>J?J-s:c,n=new Uint8Array(this.buffers[o].buffer,this.buffers[o].byteOffset+s,t);if(t==r)return n.slice();a||=r<=J?new Uint8Array(r):new e(r),a.set(n,r-c),c-=t,o++,s=0}return a}set(t,n){n===void 0&&(n=0);let r=t.byteLength;if(r==0)return;let i=Math.floor(n/J);if(i==Math.floor((n+r-1)/J))return t instanceof e&&t.buffers.length==1?this.buffers[i].set(t.buffers[0],n%J):this.buffers[i].set(t,n%J);let a=i,o=n%J,s=r;for(;s>0;){let e=o+s>J?J-o:s,n=t.slice(r-s,r-s+e);new Uint8Array(this.buffers[a].buffer,this.buffers[a].byteOffset+o,e).set(n),s-=e,a++,o=0}}};function zn(e,t,n,r){return async function(i){let a=Math.floor(i.byteLength/n);if(a*n!==i.byteLength)throw Error(`Invalid buffer size`);let o=Math.floor(a/e.concurrency),s=[];for(let c=0;c<e.concurrency;c++){let l;if(l=c<e.concurrency-1?o:a-c*o,l==0)continue;let u=[{cmd:`ALLOCSET`,var:0,buff:i.slice(c*o*n,c*o*n+l*n)},{cmd:`ALLOC`,var:1,len:r*l},{cmd:`CALL`,fnName:t,params:[{var:0},{val:l},{var:1}]},{cmd:`GET`,out:0,var:1,len:r*l}];s.push(e.queueAction(u))}let c=await Promise.all(s),l;l=i instanceof Y?new Y(a*r):new Uint8Array(a*r);let u=0;for(let e=0;e<c.length;e++)l.set(c[e][0],u),u+=c[e][0].byteLength;return l}}var Bn=class{constructor(e,t,n,r){if(this.tm=e,this.prefix=t,this.p=r,this.n8=n,this.type=`F1`,this.m=1,this.half=S(r,H),this.bitLength=v(r),this.mask=j(x(H,this.bitLength),H),this.pOp1=e.alloc(n),this.pOp2=e.alloc(n),this.pOp3=e.alloc(n),this.tm.instance.exports[t+`_zero`](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+`_one`](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(n/8),this.n32=Math.floor(n/4),this.n64*8!=this.n8)throw Error(`n8 must be a multiple of 8`);this.half=S(this.p,H),this.nqr=this.two;let i=this.exp(this.nqr,this.half);for(;!this.eq(i,this.negone);)this.nqr=this.add(this.nqr,this.one),i=this.exp(this.nqr,this.half);this.shift=this.mul(this.nqr,this.nqr),this.shiftInv=this.inv(this.shift),this.s=0;let a=j(this.p,H);for(;!T(a);)this.s+=1,a=S(a,H);this.w=[],this.w[this.s]=this.exp(this.nqr,a);for(let e=this.s-1;e>=0;e--)this.w[e]=this.square(this.w[e+1]);if(!this.eq(this.w[0],this.one))throw Error(`Error calculating roots of unity`);this.batchToMontgomery=zn(e,t+`_batchToMontgomery`,this.n8,this.n8),this.batchFromMontgomery=zn(e,t+`_batchFromMontgomery`,this.n8,this.n8)}op2(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2)}op1(e,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(e,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3)}add(e,t){return this.op2(`_add`,e,t)}eq(e,t){return this.op2Bool(`_eq`,e,t)}isZero(e){return this.op1Bool(`_isZero`,e)}sub(e,t){return this.op2(`_sub`,e,t)}neg(e){return this.op1(`_neg`,e)}inv(e){return this.op1(`_inverse`,e)}toMontgomery(e){return this.op1(`_toMontgomery`,e)}fromMontgomery(e){return this.op1(`_fromMontgomery`,e)}mul(e,t){return this.op2(`_mul`,e,t)}div(e,t){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_inverse`](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+`_mul`](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(e){return this.op1(`_square`,e)}isSquare(e){return this.op1Bool(`_isSquare`,e)}sqrt(e){return this.op1(`_sqrt`,e)}exp(e,t){return t instanceof Uint8Array||(t=he(g(t))),this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_exp`](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(e){return this.op1Bool(`_isNegative`,e)}e(e,t){if(e instanceof Uint8Array)return e;let n=g(e,t);y(n)?(n=M(n),V(n,this.p)&&(n=z(n,this.p)),n=j(this.p,n)):V(n,this.p)&&(n=z(n,this.p));let r=kn(n,this.n8);return this.toMontgomery(r)}toString(e,t){return me(fe(this.fromMontgomery(e),0),t)}fromRng(e){let t,n=new Uint8Array(this.n8);do{t=ge;for(let n=0;n<this.n64;n++)t=A(t,x(e.nextU64(),64*n));t=ie(t,this.mask)}while(re(t,this.p));return ue(n,0,t,this.n8),n}random(){return this.fromRng(Pe())}toObject(e){return fe(this.fromMontgomery(e),0)}fromObject(e){let t=new Uint8Array(this.n8);return ue(t,0,e,this.n8),this.toMontgomery(t)}toRprLE(e,t,n){e.set(this.fromMontgomery(n),t)}toRprBE(e,t,n){let r=this.fromMontgomery(n);for(let e=0;e<this.n8/2;e++){let t=r[e];r[e]=r[this.n8-1-e],r[this.n8-1-e]=t}e.set(r,t)}fromRprLE(e,t){t||=0;let n=e.slice(t,t+this.n8);return this.toMontgomery(n)}async batchInverse(e){let t=!1,n=this.n8,r=this.n8;Array.isArray(e)?(e=In(e,n),t=!0):e=e.slice(0,e.byteLength);let i=Math.floor(e.byteLength/n);if(i*n!==e.byteLength)throw Error(`Invalid buffer size`);let a=Math.floor(i/this.tm.concurrency),o=[];for(let t=0;t<this.tm.concurrency;t++){let s;if(s=t<this.tm.concurrency-1?a:i-t*a,s==0)continue;let c=[{cmd:`ALLOCSET`,var:0,buff:e.slice(t*a*n,t*a*n+s*n)},{cmd:`ALLOC`,var:1,len:r*s},{cmd:`CALL`,fnName:this.prefix+`_batchInverse`,params:[{var:0},{val:n},{val:s},{var:1},{val:r}]},{cmd:`GET`,out:0,var:1,len:r*s}];o.push(this.tm.queueAction(c))}let s=await Promise.all(o),c;c=e instanceof Y?new Y(i*r):new Uint8Array(i*r);let l=0;for(let e=0;e<s.length;e++)c.set(s[e][0],l),l+=s[e][0].byteLength;return t?Ln(c,r):c}},Vn=class{constructor(e,t,n){this.tm=e,this.prefix=t,this.F=n,this.type=`F2`,this.m=n.m*2,this.n8=this.F.n8*2,this.n32=this.F.n32*2,this.n64=this.F.n64*2,this.pOp1=e.alloc(n.n8*2),this.pOp2=e.alloc(n.n8*2),this.pOp3=e.alloc(n.n8*2),this.tm.instance.exports[t+`_zero`](this.pOp1),this.zero=e.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+`_one`](this.pOp1),this.one=e.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2)}op1(e,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(e,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3)}add(e,t){return this.op2(`_add`,e,t)}eq(e,t){return this.op2Bool(`_eq`,e,t)}isZero(e){return this.op1Bool(`_isZero`,e)}sub(e,t){return this.op2(`_sub`,e,t)}neg(e){return this.op1(`_neg`,e)}inv(e){return this.op1(`_inverse`,e)}isNegative(e){return this.op1Bool(`_isNegative`,e)}toMontgomery(e){return this.op1(`_toMontgomery`,e)}fromMontgomery(e){return this.op1(`_fromMontgomery`,e)}mul(e,t){return this.op2(`_mul`,e,t)}mul1(e,t){return this.op2(`_mul1`,e,t)}div(e,t){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_inverse`](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+`_mul`](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(e){return this.op1(`_square`,e)}isSquare(e){return this.op1Bool(`_isSquare`,e)}sqrt(e){return this.op1(`_sqrt`,e)}exp(e,t){return t instanceof Uint8Array||(t=he(g(t))),this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_exp`](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(e,t){if(e instanceof Uint8Array)return e;if(Array.isArray(e)&&e.length==2){let n=this.F.e(e[0],t),r=this.F.e(e[1],t),i=new Uint8Array(this.F.n8*2);return i.set(n),i.set(r,this.F.n8*2),i}else throw Error(`invalid F2`)}toString(e,t){return`[${this.F.toString(e.slice(0,this.F.n8),t)}, ${this.F.toString(e.slice(this.F.n8),t)}]`}fromRng(e){let t=this.F.fromRng(e),n=this.F.fromRng(e),r=new Uint8Array(this.F.n8*2);return r.set(t),r.set(n,this.F.n8),r}random(){return this.fromRng(Pe())}toObject(e){return[this.F.toObject(e.slice(0,this.F.n8)),this.F.toObject(e.slice(this.F.n8,this.F.n8*2))]}fromObject(e){let t=new Uint8Array(this.F.n8*2),n=this.F.fromObject(e[0]),r=this.F.fromObject(e[1]);return t.set(n),t.set(r,this.F.n8),t}c1(e){return e.slice(0,this.F.n8)}c2(e){return e.slice(this.F.n8)}},Hn=class{constructor(e,t,n){this.tm=e,this.prefix=t,this.F=n,this.type=`F3`,this.m=n.m*3,this.n8=this.F.n8*3,this.n32=this.F.n32*3,this.n64=this.F.n64*3,this.pOp1=e.alloc(n.n8*3),this.pOp2=e.alloc(n.n8*3),this.pOp3=e.alloc(n.n8*3),this.tm.instance.exports[t+`_zero`](this.pOp1),this.zero=e.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+`_one`](this.pOp1),this.one=e.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2)}op1(e,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(e,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3)}eq(e,t){return this.op2Bool(`_eq`,e,t)}isZero(e){return this.op1Bool(`_isZero`,e)}add(e,t){return this.op2(`_add`,e,t)}sub(e,t){return this.op2(`_sub`,e,t)}neg(e){return this.op1(`_neg`,e)}inv(e){return this.op1(`_inverse`,e)}isNegative(e){return this.op1Bool(`_isNegative`,e)}toMontgomery(e){return this.op1(`_toMontgomery`,e)}fromMontgomery(e){return this.op1(`_fromMontgomery`,e)}mul(e,t){return this.op2(`_mul`,e,t)}div(e,t){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_inverse`](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+`_mul`](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(e){return this.op1(`_square`,e)}isSquare(e){return this.op1Bool(`_isSquare`,e)}sqrt(e){return this.op1(`_sqrt`,e)}exp(e,t){return t instanceof Uint8Array||(t=he(g(t))),this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+`_exp`](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(e,t){if(e instanceof Uint8Array)return e;if(Array.isArray(e)&&e.length==3){let n=this.F.e(e[0],t),r=this.F.e(e[1],t),i=this.F.e(e[2],t),a=new Uint8Array(this.F.n8*3);return a.set(n),a.set(r,this.F.n8),a.set(i,this.F.n8*2),a}else throw Error(`invalid F3`)}toString(e,t){return`[${this.F.toString(e.slice(0,this.F.n8),t)}, ${this.F.toString(e.slice(this.F.n8,this.F.n8*2),t)}, ${this.F.toString(e.slice(this.F.n8*2),t)}]`}fromRng(e){let t=this.F.fromRng(e),n=this.F.fromRng(e),r=this.F.fromRng(e),i=new Uint8Array(this.F.n8*3);return i.set(t),i.set(n,this.F.n8),i.set(r,this.F.n8*2),i}random(){return this.fromRng(Pe())}toObject(e){return[this.F.toObject(e.slice(0,this.F.n8)),this.F.toObject(e.slice(this.F.n8,this.F.n8*2)),this.F.toObject(e.slice(this.F.n8*2,this.F.n8*3))]}fromObject(e){let t=new Uint8Array(this.F.n8*3),n=this.F.fromObject(e[0]),r=this.F.fromObject(e[1]),i=this.F.fromObject(e[2]);return t.set(n),t.set(r,this.F.n8),t.set(i,this.F.n8*2),t}c1(e){return e.slice(0,this.F.n8)}c2(e){return e.slice(this.F.n8,this.F.n8*2)}c3(e){return e.slice(this.F.n8*2)}},Un=class{constructor(e,t,n,r,i,a){this.tm=e,this.prefix=t,this.F=n,this.pOp1=e.alloc(n.n8*3),this.pOp2=e.alloc(n.n8*3),this.pOp3=e.alloc(n.n8*3),this.tm.instance.exports[t+`_zero`](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,n.n8*3),this.tm.instance.exports[t+`_zeroAffine`](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,n.n8*2),this.one=this.tm.getBuff(r,n.n8*3),this.g=this.one,this.oneAffine=this.tm.getBuff(r,n.n8*2),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(i,n.n8),a&&(this.cofactor=he(a)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=zn(e,t+`_batchLEMtoC`,n.n8*2,n.n8),this.batchLEMtoU=zn(e,t+`_batchLEMtoU`,n.n8*2,n.n8*2),this.batchCtoLEM=zn(e,t+`_batchCtoLEM`,n.n8,n.n8*2),this.batchUtoLEM=zn(e,t+`_batchUtoLEM`,n.n8*2,n.n8*2),this.batchToJacobian=zn(e,t+`_batchToJacobian`,n.n8*2,n.n8*3),this.batchToAffine=zn(e,t+`_batchToAffine`,n.n8*3,n.n8*2)}op2(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.F.n8*3)}op2bool(e,t,n){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp2,this.pOp3)}op1(e,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.F.n8*3)}op1Affine(e,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.F.n8*2)}op1Bool(e,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+e](this.pOp1,this.pOp3)}add(e,t){if(e.byteLength==this.F.n8*3){if(t.byteLength==this.F.n8*3)return this.op2(`_add`,e,t);if(t.byteLength==this.F.n8*2)return this.op2(`_addMixed`,e,t);throw Error(`invalid point size`)}else if(e.byteLength==this.F.n8*2){if(t.byteLength==this.F.n8*3)return this.op2(`_addMixed`,t,e);if(t.byteLength==this.F.n8*2)return this.op2(`_addAffine`,e,t);throw Error(`invalid point size`)}else throw Error(`invalid point size`)}sub(e,t){if(e.byteLength==this.F.n8*3){if(t.byteLength==this.F.n8*3)return this.op2(`_sub`,e,t);if(t.byteLength==this.F.n8*2)return this.op2(`_subMixed`,e,t);throw Error(`invalid point size`)}else if(e.byteLength==this.F.n8*2){if(t.byteLength==this.F.n8*3)return this.op2(`_subMixed`,t,e);if(t.byteLength==this.F.n8*2)return this.op2(`_subAffine`,e,t);throw Error(`invalid point size`)}else throw Error(`invalid point size`)}neg(e){if(e.byteLength==this.F.n8*3)return this.op1(`_neg`,e);if(e.byteLength==this.F.n8*2)return this.op1Affine(`_negAffine`,e);throw Error(`invalid point size`)}double(e){if(e.byteLength==this.F.n8*3)return this.op1(`_double`,e);if(e.byteLength==this.F.n8*2)return this.op1(`_doubleAffine`,e);throw Error(`invalid point size`)}isZero(e){if(e.byteLength==this.F.n8*3)return this.op1Bool(`_isZero`,e);if(e.byteLength==this.F.n8*2)return this.op1Bool(`_isZeroAffine`,e);throw Error(`invalid point size`)}timesScalar(e,t){t instanceof Uint8Array||(t=he(g(t)));let n;if(e.byteLength==this.F.n8*3)n=this.prefix+`_timesScalar`;else if(e.byteLength==this.F.n8*2)n=this.prefix+`_timesScalarAffine`;else throw Error(`invalid point size`);return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[n](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.F.n8*3)}timesFr(e,t){let n;if(e.byteLength==this.F.n8*3)n=this.prefix+`_timesFr`;else if(e.byteLength==this.F.n8*2)n=this.prefix+`_timesFrAffine`;else throw Error(`invalid point size`);return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[n](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.F.n8*3)}eq(e,t){if(e.byteLength==this.F.n8*3){if(t.byteLength==this.F.n8*3)return this.op2bool(`_eq`,e,t);if(t.byteLength==this.F.n8*2)return this.op2bool(`_eqMixed`,e,t);throw Error(`invalid point size`)}else if(e.byteLength==this.F.n8*2){if(t.byteLength==this.F.n8*3)return this.op2bool(`_eqMixed`,t,e);if(t.byteLength==this.F.n8*2)return this.op2bool(`_eqAffine`,e,t);throw Error(`invalid point size`)}else throw Error(`invalid point size`)}toAffine(e){if(e.byteLength==this.F.n8*3)return this.op1Affine(`_toAffine`,e);if(e.byteLength==this.F.n8*2)return e;throw Error(`invalid point size`)}toJacobian(e){if(e.byteLength==this.F.n8*3)return e;if(e.byteLength==this.F.n8*2)return this.op1(`_toJacobian`,e);throw Error(`invalid point size`)}toRprUncompressed(e,t,n){if(this.tm.setBuff(this.pOp1,n),n.byteLength==this.F.n8*3)this.tm.instance.exports[this.prefix+`_toAffine`](this.pOp1,this.pOp1);else if(n.byteLength!=this.F.n8*2)throw Error(`invalid point size`);this.tm.instance.exports[this.prefix+`_LEMtoU`](this.pOp1,this.pOp1);let r=this.tm.getBuff(this.pOp1,this.F.n8*2);e.set(r,t)}fromRprUncompressed(e,t){let n=e.slice(t,t+this.F.n8*2);return this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+`_UtoLEM`](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,this.F.n8*2)}toRprCompressed(e,t,n){if(this.tm.setBuff(this.pOp1,n),n.byteLength==this.F.n8*3)this.tm.instance.exports[this.prefix+`_toAffine`](this.pOp1,this.pOp1);else if(n.byteLength!=this.F.n8*2)throw Error(`invalid point size`);this.tm.instance.exports[this.prefix+`_LEMtoC`](this.pOp1,this.pOp1);let r=this.tm.getBuff(this.pOp1,this.F.n8);e.set(r,t)}fromRprCompressed(e,t){let n=e.slice(t,t+this.F.n8);return this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+`_CtoLEM`](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,this.F.n8*2)}toUncompressed(e){let t=new Uint8Array(this.F.n8*2);return this.toRprUncompressed(t,0,e),t}toRprLEM(e,t,n){if(n.byteLength==this.F.n8*2){e.set(n,t);return}else if(n.byteLength==this.F.n8*3){this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+`_toAffine`](this.pOp1,this.pOp1);let r=this.tm.getBuff(this.pOp1,this.F.n8*2);e.set(r,t)}else throw Error(`invalid point size`)}fromRprLEM(e,t){return t||=0,e.slice(t,t+this.F.n8*2)}toString(e,t){if(e.byteLength==this.F.n8*3)return`[ ${this.F.toString(e.slice(0,this.F.n8),t)}, ${this.F.toString(e.slice(this.F.n8,this.F.n8*2),t)}, ${this.F.toString(e.slice(this.F.n8*2),t)} ]`;if(e.byteLength==this.F.n8*2)return`[ ${this.F.toString(e.slice(0,this.F.n8),t)}, ${this.F.toString(e.slice(this.F.n8),t)} ]`;throw Error(`invalid point size`)}isValid(e){if(this.isZero(e))return!0;let t=this.F,n=this.toAffine(e),r=n.slice(0,this.F.n8),i=n.slice(this.F.n8,this.F.n8*2),a=t.add(t.mul(t.square(r),r),this.b),o=t.square(i);return t.eq(a,o)}fromRng(e){let t=this.F,n=[],r,i;do n[0]=t.fromRng(e),r=e.nextBool(),i=t.add(t.mul(t.square(n[0]),n[0]),this.b);while(!t.isSquare(i));n[1]=t.sqrt(i);let a=t.isNegative(n[1]);r^a&&(n[1]=t.neg(n[1]));let o=new Uint8Array(this.F.n8*2);return o.set(n[0]),o.set(n[1],this.F.n8),this.cofactor&&(o=this.timesScalar(o,this.cofactor)),o}toObject(e){if(this.isZero(e))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];let t=this.F.toObject(e.slice(0,this.F.n8)),n=this.F.toObject(e.slice(this.F.n8,this.F.n8*2)),r;return r=e.byteLength==this.F.n8*3?this.F.toObject(e.slice(this.F.n8*2,this.F.n8*3)):this.F.toObject(this.F.one),[t,n,r]}fromObject(e){let t=this.F.fromObject(e[0]),n=this.F.fromObject(e[1]),r;if(r=e.length==3?this.F.fromObject(e[2]):this.F.one,this.F.isZero(r,this.F.one))return this.zeroAffine;if(this.F.eq(r,this.F.one)){let e=new Uint8Array(this.F.n8*2);return e.set(t),e.set(n,this.F.n8),e}else{let e=new Uint8Array(this.F.n8*3);return e.set(t),e.set(n,this.F.n8),e.set(r,this.F.n8*2),e}}e(e){return e instanceof Uint8Array?e:this.fromObject(e)}x(e){return this.toAffine(e).slice(0,this.F.n8)}y(e){return this.toAffine(e).slice(this.F.n8)}};function Wn(e){let t=32767,n,r;e&&(e.onmessage=function(t){let n;if(n=t.data?t.data:t,n[0].cmd==`INIT`)i(n[0]).then(function(){e.postMessage(n.result)});else if(n[0].cmd==`TERMINATE`)e.close();else{let t=l(n);e.postMessage(t)}});async function i(e){let i=new Uint8Array(e.code),a=await WebAssembly.compile(i);r=new WebAssembly.Memory({initial:e.init,maximum:t}),n=await WebAssembly.instantiate(a,{env:{memory:r}})}function a(e){let n=new Uint32Array(r.buffer,0,1);for(;n[0]&3;)n[0]++;let i=n[0];if(n[0]+=e,n[0]+e>r.buffer.byteLength){let i=r.buffer.byteLength/65536,a=Math.floor((n[0]+e)/65536)+1;a>t&&(a=t),r.grow(a-i)}return i}function o(e){let t=a(e.byteLength);return c(t,e),t}function s(e,t){let n=new Uint8Array(r.buffer);return new Uint8Array(n.buffer,n.byteOffset+e,t)}function c(e,t){new Uint8Array(r.buffer).set(new Uint8Array(t),e)}function l(e){if(e[0].cmd==`INIT`)return i(e[0]);let t={vars:[],out:[]},l=new Uint32Array(r.buffer,0,1)[0];for(let r=0;r<e.length;r++)switch(e[r].cmd){case`ALLOCSET`:t.vars[e[r].var]=o(e[r].buff);break;case`ALLOC`:t.vars[e[r].var]=a(e[r].len);break;case`SET`:c(t.vars[e[r].var],e[r].buff);break;case`CALL`:{let i=[];for(let n=0;n<e[r].params.length;n++){let a=e[r].params[n];a.var===void 0?a.val!==void 0&&i.push(a.val):i.push(t.vars[a.var]+(a.offset||0))}n.exports[e[r].fnName](...i);break}case`GET`:t.out[e[r].out]=s(t.vars[e[r].var],e[r].len).slice();break;default:throw Error(`Invalid cmd`)}let u=new Uint32Array(r.buffer,0,1);return u[0]=l,t.out}return l}var Gn=25,Kn=class{constructor(){this.promise=new Promise((e,t)=>{this.reject=t,this.resolve=e})}};function qn(e){return new Promise(t=>setTimeout(t,e))}var Jn,Yn=`(function thread(self) {
2
+ const MAXMEM = 32767;
3
+ let instance;
4
+ let memory;
5
+
6
+ if (self) {
7
+ self.onmessage = function(e) {
8
+ let data;
9
+ if (e.data) {
10
+ data = e.data;
11
+ } else {
12
+ data = e;
13
+ }
14
+
15
+ if (data[0].cmd == "INIT") {
16
+ init(data[0]).then(function() {
17
+ self.postMessage(data.result);
18
+ });
19
+ } else if (data[0].cmd == "TERMINATE") {
20
+ self.close();
21
+ } else {
22
+ const res = runTask(data);
23
+ self.postMessage(res);
24
+ }
25
+ };
26
+ }
27
+
28
+ async function init(data) {
29
+ const code = new Uint8Array(data.code);
30
+ const wasmModule = await WebAssembly.compile(code);
31
+ memory = new WebAssembly.Memory({initial:data.init, maximum: MAXMEM});
32
+
33
+ instance = await WebAssembly.instantiate(wasmModule, {
34
+ env: {
35
+ "memory": memory
36
+ }
37
+ });
38
+ }
39
+
40
+
41
+
42
+ function alloc(length) {
43
+ const u32 = new Uint32Array(memory.buffer, 0, 1);
44
+ while (u32[0] & 3) u32[0]++; // Return always aligned pointers
45
+ const res = u32[0];
46
+ u32[0] += length;
47
+ if (u32[0] + length > memory.buffer.byteLength) {
48
+ const currentPages = memory.buffer.byteLength / 0x10000;
49
+ let requiredPages = Math.floor((u32[0] + length) / 0x10000)+1;
50
+ if (requiredPages>MAXMEM) requiredPages=MAXMEM;
51
+ memory.grow(requiredPages-currentPages);
52
+ }
53
+ return res;
54
+ }
55
+
56
+ function allocBuffer(buffer) {
57
+ const p = alloc(buffer.byteLength);
58
+ setBuffer(p, buffer);
59
+ return p;
60
+ }
61
+
62
+ function getBuffer(pointer, length) {
63
+ const u8 = new Uint8Array(memory.buffer);
64
+ return new Uint8Array(u8.buffer, u8.byteOffset + pointer, length);
65
+ }
66
+
67
+ function setBuffer(pointer, buffer) {
68
+ const u8 = new Uint8Array(memory.buffer);
69
+ u8.set(new Uint8Array(buffer), pointer);
70
+ }
71
+
72
+ function runTask(task) {
73
+ if (task[0].cmd == "INIT") {
74
+ return init(task[0]);
75
+ }
76
+ const ctx = {
77
+ vars: [],
78
+ out: []
79
+ };
80
+ const u32a = new Uint32Array(memory.buffer, 0, 1);
81
+ const oldAlloc = u32a[0];
82
+ for (let i=0; i<task.length; i++) {
83
+ switch (task[i].cmd) {
84
+ case "ALLOCSET":
85
+ ctx.vars[task[i].var] = allocBuffer(task[i].buff);
86
+ break;
87
+ case "ALLOC":
88
+ ctx.vars[task[i].var] = alloc(task[i].len);
89
+ break;
90
+ case "SET":
91
+ setBuffer(ctx.vars[task[i].var], task[i].buff);
92
+ break;
93
+ case "CALL": {
94
+ const params = [];
95
+ for (let j=0; j<task[i].params.length; j++) {
96
+ const p = task[i].params[j];
97
+ if (typeof p.var !== "undefined") {
98
+ params.push(ctx.vars[p.var] + (p.offset || 0));
99
+ } else if (typeof p.val != "undefined") {
100
+ params.push(p.val);
101
+ }
102
+ }
103
+ instance.exports[task[i].fnName](...params);
104
+ break;
105
+ }
106
+ case "GET":
107
+ ctx.out[task[i].out] = getBuffer(ctx.vars[task[i].var], task[i].len).slice();
108
+ break;
109
+ default:
110
+ throw new Error("Invalid cmd");
111
+ }
112
+ }
113
+ const u32b = new Uint32Array(memory.buffer, 0, 1);
114
+ u32b[0] = oldAlloc;
115
+ return ctx.out;
116
+ }
117
+
118
+
119
+ return runTask;
120
+ })(self)`;if(globalThis?.Blob){let e=new TextEncoder().encode(Yn),t=new Blob([e],{type:`application/javascript`});Jn=URL.createObjectURL(t)}else Jn=`data:application/javascript;base64,`+globalThis.btoa(Yn);async function Xn(e,t){let n=new Zn;n.memory=new WebAssembly.Memory({initial:Gn}),n.u8=new Uint8Array(n.memory.buffer),n.u32=new Uint32Array(n.memory.buffer);let r=await WebAssembly.compile(e.code);if(n.instance=await WebAssembly.instantiate(r,{env:{memory:n.memory}}),globalThis?.Worker||(t=!0),n.singleThread=t,n.initalPFree=n.u32[0],n.pq=e.pq,n.pr=e.pr,n.pG1gen=e.pG1gen,n.pG1zero=e.pG1zero,n.pG2gen=e.pG2gen,n.pG2zero=e.pG2zero,n.pOneT=e.pOneT,t)n.code=e.code,n.taskManager=Wn(),await n.taskManager([{cmd:`INIT`,init:Gn,code:n.code.slice()}]),n.concurrency=1;else{n.workers=[],n.pendingDeferreds=[],n.working=[];let t=2;typeof navigator==`object`&&navigator.hardwareConcurrency&&(t=navigator.hardwareConcurrency),t==0&&(t=2),t>64&&(t=64),n.concurrency=t;for(let e=0;e<t;e++)n.workers[e]=new Worker(Jn),n.workers[e].addEventListener(`message`,i(e)),n.working[e]=!1;let r=[];for(let t=0;t<n.workers.length;t++){let i=e.code.slice();r.push(n.postAction(t,[{cmd:`INIT`,init:Gn,code:i}],[i.buffer]))}await Promise.all(r)}return n;function i(e){return function(t){let r;r=t&&t.data?t.data:t,n.working[e]=!1,n.pendingDeferreds[e].resolve(r),n.processWorks()}}}var Zn=class{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(this.oldPFree!=0)throw Error(`Sync operation in progress`);this.oldPFree=this.u32[0]}endSyncOp(){if(this.oldPFree==0)throw Error(`No sync operation in progress`);this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(e,t,n,r){if(this.working[e])throw Error(`Posting a job t a working worker`);return this.working[e]=!0,this.pendingDeferreds[e]=r||new Kn,this.workers[e].postMessage(t,n),this.pendingDeferreds[e].promise}processWorks(){for(let e=0;e<this.workers.length&&this.actionQueue.length>0;e++)if(this.working[e]==0){let t=this.actionQueue.shift();this.postAction(e,t.data,t.transfers,t.deferred)}}queueAction(e,t){let n=new Kn;if(this.singleThread){let t=this.taskManager(e);n.resolve(t)}else this.actionQueue.push({data:e,transfers:t,deferred:n}),this.processWorks();return n.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(e){let t=this.alloc(e.byteLength);return this.setBuff(t,e),t}getBuff(e,t){return this.u8.slice(e,e+t)}setBuff(e,t){this.u8.set(new Uint8Array(t),e)}alloc(e){for(;this.u32[0]&3;)this.u32[0]++;let t=this.u32[0];return this.u32[0]+=e,t}async terminate(){for(let e=0;e<this.workers.length;e++)this.workers[e].postMessage([{cmd:`TERMINATE`}]);await qn(200)}};function Qn(e,t){let n=e[t],r=e.Fr,i=e.tm;e[t].batchApplyKey=async function(e,a,o,s,c){s||=`affine`,c||=`affine`;let l,u,d,f,p;if(t==`G1`)s==`jacobian`?(d=n.F.n8*3,l=`g1m_batchApplyKey`):(d=n.F.n8*2,l=`g1m_batchApplyKeyMixed`),f=n.F.n8*3,c==`jacobian`?p=n.F.n8*3:(u=`g1m_batchToAffine`,p=n.F.n8*2);else if(t==`G2`)s==`jacobian`?(d=n.F.n8*3,l=`g2m_batchApplyKey`):(d=n.F.n8*2,l=`g2m_batchApplyKeyMixed`),f=n.F.n8*3,c==`jacobian`?p=n.F.n8*3:(u=`g2m_batchToAffine`,p=n.F.n8*2);else if(t==`Fr`)l=`frm_batchApplyKey`,d=n.n8,f=n.n8,p=n.n8;else throw Error(`Invalid group: `+t);let m=Math.floor(e.byteLength/d),h=Math.floor(m/i.concurrency),g=[];o=r.e(o);let _=r.e(a);for(let t=0;t<i.concurrency;t++){let n;if(n=t<i.concurrency-1?h:m-t*h,n==0)continue;let a=[];a.push({cmd:`ALLOCSET`,var:0,buff:e.slice(t*h*d,t*h*d+n*d)}),a.push({cmd:`ALLOCSET`,var:1,buff:_}),a.push({cmd:`ALLOCSET`,var:2,buff:o}),a.push({cmd:`ALLOC`,var:3,len:n*Math.max(f,p)}),a.push({cmd:`CALL`,fnName:l,params:[{var:0},{val:n},{var:1},{var:2},{var:3}]}),u&&a.push({cmd:`CALL`,fnName:u,params:[{var:3},{val:n},{var:3}]}),a.push({cmd:`GET`,out:0,var:3,len:n*p}),g.push(i.queueAction(a)),_=r.mul(_,r.exp(o,n))}let v=await Promise.all(g),y;y=e instanceof Y?new Y(m*p):new Uint8Array(m*p);let b=0;for(let e=0;e<v.length;e++)y.set(v[e][0],b),b+=v[e][0].byteLength;return y}}function $n(e){let t=e.tm;e.pairing=function(n,r){t.startSyncOp();let i=t.allocBuff(e.G1.toJacobian(n)),a=t.allocBuff(e.G2.toJacobian(r)),o=t.alloc(e.Gt.n8);t.instance.exports[e.name+`_pairing`](i,a,o);let s=t.getBuff(o,e.Gt.n8);return t.endSyncOp(),s},e.pairingEq=async function(){let n,r;arguments.length%2==1?(n=arguments[arguments.length-1],r=(arguments.length-1)/2):(n=e.Gt.one,r=arguments.length/2);let i=[];for(let n=0;n<r;n++){let r=[],a=e.G1.toJacobian(arguments[n*2]);r.push({cmd:`ALLOCSET`,var:0,buff:a}),r.push({cmd:`ALLOC`,var:1,len:e.prePSize});let o=e.G2.toJacobian(arguments[n*2+1]);r.push({cmd:`ALLOCSET`,var:2,buff:o}),r.push({cmd:`ALLOC`,var:3,len:e.preQSize}),r.push({cmd:`ALLOC`,var:4,len:e.Gt.n8}),r.push({cmd:`CALL`,fnName:e.name+`_prepareG1`,params:[{var:0},{var:1}]}),r.push({cmd:`CALL`,fnName:e.name+`_prepareG2`,params:[{var:2},{var:3}]}),r.push({cmd:`CALL`,fnName:e.name+`_millerLoop`,params:[{var:1},{var:3},{var:4}]}),r.push({cmd:`GET`,out:0,var:4,len:e.Gt.n8}),i.push(t.queueAction(r))}let a=await Promise.all(i);t.startSyncOp();let o=t.alloc(e.Gt.n8);t.instance.exports.ftm_one(o);for(let e=0;e<a.length;e++){let n=t.allocBuff(a[e][0]);t.instance.exports.ftm_mul(o,n,o)}t.instance.exports[e.name+`_finalExponentiation`](o,o);let s=t.allocBuff(n),c=!!t.instance.exports.ftm_eq(o,s);return t.endSyncOp(),c},e.prepareG1=function(e){this.tm.startSyncOp();let t=this.tm.allocBuff(e),n=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+`_prepareG1`](t,n);let r=this.tm.getBuff(n,this.prePSize);return this.tm.endSyncOp(),r},e.prepareG2=function(e){this.tm.startSyncOp();let t=this.tm.allocBuff(e),n=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+`_prepareG2`](t,n);let r=this.tm.getBuff(n,this.preQSize);return this.tm.endSyncOp(),r},e.millerLoop=function(e,t){this.tm.startSyncOp();let n=this.tm.allocBuff(e),r=this.tm.allocBuff(t),i=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+`_millerLoop`](n,r,i);let a=this.tm.getBuff(i,this.Gt.n8);return this.tm.endSyncOp(),a},e.finalExponentiation=function(e){this.tm.startSyncOp();let t=this.tm.allocBuff(e),n=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+`_finalExponentiation`](t,n);let r=this.tm.getBuff(n,this.Gt.n8);return this.tm.endSyncOp(),r}}var er=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function tr(e,t){let n=e[t],r=n.tm;async function i(e,r,i,a,o){if(!(e instanceof Uint8Array))throw a&&a.error(`${o} _multiExpChunk buffBases is not Uint8Array`),Error(`${o} _multiExpChunk buffBases is not Uint8Array`);if(!(r instanceof Uint8Array))throw a&&a.error(`${o} _multiExpChunk buffScalars is not Uint8Array`),Error(`${o} _multiExpChunk buffScalars is not Uint8Array`);i||=`affine`;let s,c;if(t==`G1`)i==`affine`?(c=`g1m_multiexpAffine_chunk`,s=n.F.n8*2):(c=`g1m_multiexp_chunk`,s=n.F.n8*3);else if(t==`G2`)i==`affine`?(c=`g2m_multiexpAffine_chunk`,s=n.F.n8*2):(c=`g2m_multiexp_chunk`,s=n.F.n8*3);else throw Error(`Invalid group`);let l=Math.floor(e.byteLength/s);if(l==0)return n.zero;let u=Math.floor(r.byteLength/l);if(u*l!=r.byteLength)throw Error(`Scalar size does not match`);let d=er[q(l)],f=Math.floor((u*8-1)/d)+1,p=[];for(let t=0;t<f;t++){let i=[{cmd:`ALLOCSET`,var:0,buff:e},{cmd:`ALLOCSET`,var:1,buff:r},{cmd:`ALLOC`,var:2,len:n.F.n8*3},{cmd:`CALL`,fnName:c,params:[{var:0},{var:1},{val:u},{val:l},{val:t*d},{val:Math.min(u*8-t*d,d)},{var:2}]},{cmd:`GET`,out:0,var:2,len:n.F.n8*3}];p.push(n.tm.queueAction(i))}let m=await Promise.all(p),h=n.zero;for(let e=m.length-1;e>=0;e--){if(!n.isZero(h))for(let e=0;e<d;e++)h=n.double(h);h=n.add(h,m[e][0])}return h}async function a(e,a,o,s,c){let l=1<<22,u=1024,d;if(t==`G1`)d=o==`affine`?n.F.n8*2:n.F.n8*3;else if(t==`G2`)d=o==`affine`?n.F.n8*2:n.F.n8*3;else throw Error(`Invalid group`);let f=Math.floor(e.byteLength/d);if(f==0)return n.zero;let p=Math.floor(a.byteLength/f);if(p*f!=a.byteLength)throw Error(`Scalar size does not match`);let m=er[q(f)],h=Math.floor((p*8-1)/m)+1,g;g=Math.floor(f/(r.concurrency/h)),g>l&&(g=l),g<u&&(g=u);let _=[];for(let t=0;t<f;t+=g){s&&s.debug(`Multiexp start: ${c}: ${t}/${f}`);let n=Math.min(f-t,g),r=e.slice(t*d,(t+n)*d),l=a.slice(t*p,(t+n)*p);_.push(i(r,l,o,s,c).then(e=>(s&&s.debug(`Multiexp end: ${c}: ${t}/${f}`),e)))}let v=await Promise.all(_),y=n.zero;for(let e=v.length-1;e>=0;e--)y=n.add(y,v[e]);return y}n.multiExp=async function(e,t,n,r){return await a(e,t,`jacobian`,n,r)},n.multiExpAffine=async function(e,t,n,r){return await a(e,t,`affine`,n,r)}}function nr(e,t){let n=e[t],r=e.Fr,i=n.tm;async function a(e,a,c,l,u,d){c||=`affine`,l||=`affine`;let f,p,m,h,g,_,v,y;t==`G1`?(c==`affine`?(f=n.F.n8*2,h=`g1m_batchToJacobian`):f=n.F.n8*3,p=n.F.n8*3,a&&(y=`g1m_fftFinal`),v=`g1m_fftJoin`,_=`g1m_fftMix`,l==`affine`?(m=n.F.n8*2,g=`g1m_batchToAffine`):m=n.F.n8*3):t==`G2`?(c==`affine`?(f=n.F.n8*2,h=`g2m_batchToJacobian`):f=n.F.n8*3,p=n.F.n8*3,a&&(y=`g2m_fftFinal`),v=`g2m_fftJoin`,_=`g2m_fftMix`,l==`affine`?(m=n.F.n8*2,g=`g2m_batchToAffine`):m=n.F.n8*3):t==`Fr`&&(f=n.n8,p=n.n8,m=n.n8,a&&(y=`frm_fftFinal`),_=`frm_fftMix`,v=`frm_fftJoin`);let b=!1;Array.isArray(e)?(e=In(e,f),b=!0):e=e.slice(0,e.byteLength);let x=e.byteLength/f,S=q(x);if(1<<S!=x)throw Error(`fft must be multiple of 2`);if(S==r.s+1){let t;return t=a?await s(e,c,l,u,d):await o(e,c,l,u,d),b?Ln(t,m):t}let C;a&&(C=r.inv(r.e(x)));let w;Fn(e,f);let T,E=Math.min(16384,x),D=x/E;for(;D<i.concurrency&&E>=16;)D*=2,E/=2;let O=q(E),k=[];for(let t=0;t<D;t++){u&&u.debug(`${d}: fft ${S} mix start: ${t}/${D}`);let n=[];n.push({cmd:`ALLOC`,var:0,len:p*E});let r=e.slice(E*t*f,E*(t+1)*f);n.push({cmd:`SET`,var:0,buff:r}),h&&n.push({cmd:`CALL`,fnName:h,params:[{var:0},{val:E},{var:0}]});for(let e=1;e<=O;e++)n.push({cmd:`CALL`,fnName:_,params:[{var:0},{val:E},{val:e}]});O==S?(y&&(n.push({cmd:`ALLOCSET`,var:1,buff:C}),n.push({cmd:`CALL`,fnName:y,params:[{var:0},{val:E},{var:1}]})),g&&n.push({cmd:`CALL`,fnName:g,params:[{var:0},{val:E},{var:0}]}),n.push({cmd:`GET`,out:0,var:0,len:E*m})):n.push({cmd:`GET`,out:0,var:0,len:p*E}),k.push(i.queueAction(n).then(e=>(u&&u.debug(`${d}: fft ${S} mix end: ${t}/${D}`),e)))}T=await Promise.all(k);for(let e=0;e<D;e++)T[e]=T[e][0];for(let e=O+1;e<=S;e++){u&&u.debug(`${d}: fft ${S} join: ${e}/${S}`);let t=1<<S-e,n=D/t,a=[];for(let o=0;o<t;o++)for(let s=0;s<n/2;s++){let c=r.exp(r.w[e],s*E),l=r.w[e],f=o*n+s,h=o*n+s+n/2,_=[];_.push({cmd:`ALLOCSET`,var:0,buff:T[f]}),_.push({cmd:`ALLOCSET`,var:1,buff:T[h]}),_.push({cmd:`ALLOCSET`,var:2,buff:c}),_.push({cmd:`ALLOCSET`,var:3,buff:l}),_.push({cmd:`CALL`,fnName:v,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),e==S?(y&&(_.push({cmd:`ALLOCSET`,var:4,buff:C}),_.push({cmd:`CALL`,fnName:y,params:[{var:0},{val:E},{var:4}]}),_.push({cmd:`CALL`,fnName:y,params:[{var:1},{val:E},{var:4}]})),g&&(_.push({cmd:`CALL`,fnName:g,params:[{var:0},{val:E},{var:0}]}),_.push({cmd:`CALL`,fnName:g,params:[{var:1},{val:E},{var:1}]})),_.push({cmd:`GET`,out:0,var:0,len:E*m}),_.push({cmd:`GET`,out:1,var:1,len:E*m})):(_.push({cmd:`GET`,out:0,var:0,len:E*p}),_.push({cmd:`GET`,out:1,var:1,len:E*p})),a.push(i.queueAction(_).then(r=>(u&&u.debug(`${d}: fft ${S} join ${e}/${S} ${o+1}/${t} ${s}/${n/2}`),r)))}let o=await Promise.all(a);for(let e=0;e<t;e++)for(let t=0;t<n/2;t++){let r=e*n+t,i=e*n+t+n/2,a=o.shift();T[r]=a[0],T[i]=a[1]}}if(w=e instanceof Y?new Y(x*m):new Uint8Array(x*m),a){w.set(T[0].slice((E-1)*m));let e=m;for(let t=D-1;t>0;t--)w.set(T[t],e),e+=E*m,delete T[t];w.set(T[0].slice(0,(E-1)*m),e),delete T[0]}else for(let e=0;e<D;e++)w.set(T[e],E*m*e),delete T[e];return b?Ln(w,m):w}async function o(e,t,n,i,o){let s,l;s=e.slice(0,e.byteLength/2),l=e.slice(e.byteLength/2,e.byteLength);let u=[];[s,l]=await c(s,l,`fftJoinExt`,r.one,r.shift,t,`jacobian`,i,o),u.push(a(s,!1,`jacobian`,n,i,o)),u.push(a(l,!1,`jacobian`,n,i,o));let d=await Promise.all(u),f;return f=d[0].byteLength>1<<28?new Y(d[0].byteLength*2):new Uint8Array(d[0].byteLength*2),f.set(d[0]),f.set(d[1],d[0].byteLength),f}async function s(e,t,n,i,o){let s,l;s=e.slice(0,e.byteLength/2),l=e.slice(e.byteLength/2,e.byteLength);let u=[];u.push(a(s,!0,t,`jacobian`,i,o)),u.push(a(l,!0,t,`jacobian`,i,o)),[s,l]=await Promise.all(u);let d=await c(s,l,`fftJoinExtInv`,r.one,r.shiftInv,`jacobian`,n,i,o),f;return f=d[0].byteLength>1<<28?new Y(d[0].byteLength*2):new Uint8Array(d[0].byteLength*2),f.set(d[0]),f.set(d[1],d[0].byteLength),f}async function c(e,a,o,s,c,l,u,d,f){let p=65536,m,h,g,_,v,y;if(t==`G1`)l==`affine`?(v=n.F.n8*2,h=`g1m_batchToJacobian`):v=n.F.n8*3,y=n.F.n8*3,m=`g1m_`+o,u==`affine`?(g=`g1m_batchToAffine`,_=n.F.n8*2):_=n.F.n8*3;else if(t==`G2`)l==`affine`?(v=n.F.n8*2,h=`g2m_batchToJacobian`):v=n.F.n8*3,m=`g2m_`+o,y=n.F.n8*3,u==`affine`?(g=`g2m_batchToAffine`,_=n.F.n8*2):_=n.F.n8*3;else if(t==`Fr`)v=r.n8,_=r.n8,y=r.n8,m=`frm_`+o;else throw Error(`Invalid group`);if(e.byteLength!=a.byteLength)throw Error(`Invalid buffer size`);let b=Math.floor(e.byteLength/v);if(b!=1<<q(b))throw Error(`Invalid number of points`);let x=Math.floor(b/i.concurrency);x<16&&(x=16),x>p&&(x=p);let S=[];for(let t=0;t<b;t+=x){d&&d.debug(`${f}: fftJoinExt Start: ${t}/${b}`);let n=Math.min(b-t,x),o=r.mul(s,r.exp(c,t)),l=[],u=e.slice(t*v,(t+n)*v),p=a.slice(t*v,(t+n)*v);l.push({cmd:`ALLOC`,var:0,len:y*n}),l.push({cmd:`SET`,var:0,buff:u}),l.push({cmd:`ALLOC`,var:1,len:y*n}),l.push({cmd:`SET`,var:1,buff:p}),l.push({cmd:`ALLOCSET`,var:2,buff:o}),l.push({cmd:`ALLOCSET`,var:3,buff:c}),h&&(l.push({cmd:`CALL`,fnName:h,params:[{var:0},{val:n},{var:0}]}),l.push({cmd:`CALL`,fnName:h,params:[{var:1},{val:n},{var:1}]})),l.push({cmd:`CALL`,fnName:m,params:[{var:0},{var:1},{val:n},{var:2},{var:3},{val:r.s}]}),g&&(l.push({cmd:`CALL`,fnName:g,params:[{var:0},{val:n},{var:0}]}),l.push({cmd:`CALL`,fnName:g,params:[{var:1},{val:n},{var:1}]})),l.push({cmd:`GET`,out:0,var:0,len:n*_}),l.push({cmd:`GET`,out:1,var:1,len:n*_}),S.push(i.queueAction(l).then(e=>(d&&d.debug(`${f}: fftJoinExt End: ${t}/${b}`),e)))}let C=await Promise.all(S),w,T;b*_>1<<28?(w=new Y(b*_),T=new Y(b*_)):(w=new Uint8Array(b*_),T=new Uint8Array(b*_));let E=0;for(let e=0;e<C.length;e++)w.set(C[e][0],E),T.set(C[e][1],E),E+=C[e][0].byteLength;return[w,T]}n.fft=async function(e,t,n,r,i){return await a(e,!1,t,n,r,i)},n.ifft=async function(e,t,n,r,i){return await a(e,!0,t,n,r,i)},n.lagrangeEvaluations=async function(e,i,o,s,l){i||=`affine`,o||=`affine`;let u;if(t==`G1`)u=i==`affine`?n.F.n8*2:n.F.n8*3;else if(t==`G2`)u=i==`affine`?n.F.n8*2:n.F.n8*3;else if(t==`Fr`)u=r.n8;else throw Error(`Invalid group`);let d=e.byteLength/u,f=q(d);if(2**f*u!=e.byteLength)throw s&&s.error(`lagrangeEvaluations iinvalid input size`),Error(`lagrangeEvaluations invalid Input size`);if(f<=r.s)return await n.ifft(e,i,o,s,l);if(f>r.s+1)throw s&&s.error(`lagrangeEvaluations input too big`),Error(`lagrangeEvaluations input too big`);let p=e.slice(0,e.byteLength/2),m=e.slice(e.byteLength/2,e.byteLength),h=r.exp(r.shift,d/2),g=r.inv(r.sub(r.one,h));[p,m]=await c(p,m,`prepareLagrangeEvaluation`,g,r.shiftInv,i,`jacobian`,s,l+` prep`);let _=[];_.push(a(p,!0,`jacobian`,o,s,l+` t0`)),_.push(a(m,!0,`jacobian`,o,s,l+` t1`)),[p,m]=await Promise.all(_);let v;return v=p.byteLength>1<<28?new Y(p.byteLength*2):new Uint8Array(p.byteLength*2),v.set(p),v.set(m,p.byteLength),v},n.fftMix=async function(e){let a=n.F.n8*3,o,s;if(t==`G1`)o=`g1m_fftMix`,s=`g1m_fftJoin`;else if(t==`G2`)o=`g2m_fftMix`,s=`g2m_fftJoin`;else if(t==`Fr`)o=`frm_fftMix`,s=`frm_fftJoin`;else throw Error(`Invalid group`);let c=Math.floor(e.byteLength/a),l=q(c),u=1<<q(i.concurrency);c<=u*2&&(u=1);let d=c/u,f=q(d),p=[];for(let t=0;t<u;t++){let n=[],r=e.slice(t*d*a,(t+1)*d*a);n.push({cmd:`ALLOCSET`,var:0,buff:r});for(let e=1;e<=f;e++)n.push({cmd:`CALL`,fnName:o,params:[{var:0},{val:d},{val:e}]});n.push({cmd:`GET`,out:0,var:0,len:d*a}),p.push(i.queueAction(n))}let m=await Promise.all(p),h=[];for(let e=0;e<m.length;e++)h[e]=m[e][0];for(let e=f+1;e<=l;e++){let t=1<<l-e,n=u/t,o=[];for(let c=0;c<t;c++)for(let t=0;t<n/2;t++){let l=r.exp(r.w[e],t*d),u=r.w[e],f=c*n+t,p=c*n+t+n/2,m=[];m.push({cmd:`ALLOCSET`,var:0,buff:h[f]}),m.push({cmd:`ALLOCSET`,var:1,buff:h[p]}),m.push({cmd:`ALLOCSET`,var:2,buff:l}),m.push({cmd:`ALLOCSET`,var:3,buff:u}),m.push({cmd:`CALL`,fnName:s,params:[{var:0},{var:1},{val:d},{var:2},{var:3}]}),m.push({cmd:`GET`,out:0,var:0,len:d*a}),m.push({cmd:`GET`,out:1,var:1,len:d*a}),o.push(i.queueAction(m))}let c=await Promise.all(o);for(let e=0;e<t;e++)for(let t=0;t<n/2;t++){let r=e*n+t,i=e*n+t+n/2,a=c.shift();h[r]=a[0],h[i]=a[1]}}let g;g=e instanceof Y?new Y(c*a):new Uint8Array(c*a);let _=0;for(let e=0;e<u;e++)g.set(h[e],_),_+=h[e].byteLength;return g},n.fftJoin=async function(e,a,o,s){let c=n.F.n8*3,l;if(t==`G1`)l=`g1m_fftJoin`;else if(t==`G2`)l=`g2m_fftJoin`;else if(t==`Fr`)l=`frm_fftJoin`;else throw Error(`Invalid group`);if(e.byteLength!=a.byteLength)throw Error(`Invalid buffer size`);let u=Math.floor(e.byteLength/c);if(u!=1<<q(u))throw Error(`Invalid number of points`);let d=1<<q(i.concurrency);u<=d*2&&(d=1);let f=u/d,p=[];for(let t=0;t<d;t++){let n=[],u=r.mul(o,r.exp(s,t*f)),d=e.slice(t*f*c,(t+1)*f*c),m=a.slice(t*f*c,(t+1)*f*c);n.push({cmd:`ALLOCSET`,var:0,buff:d}),n.push({cmd:`ALLOCSET`,var:1,buff:m}),n.push({cmd:`ALLOCSET`,var:2,buff:u}),n.push({cmd:`ALLOCSET`,var:3,buff:s}),n.push({cmd:`CALL`,fnName:l,params:[{var:0},{var:1},{val:f},{var:2},{var:3}]}),n.push({cmd:`GET`,out:0,var:0,len:f*c}),n.push({cmd:`GET`,out:1,var:1,len:f*c}),p.push(i.queueAction(n))}let m=await Promise.all(p),h,g;e instanceof Y?(h=new Y(u*c),g=new Y(u*c)):(h=new Uint8Array(u*c),g=new Uint8Array(u*c));let _=0;for(let e=0;e<m.length;e++)h.set(m[e][0],_),g.set(m[e][1],_),_+=m[e][0].byteLength;return[h,g]},n.fftFinal=async function(e,r){let a=n.F.n8*3,o=n.F.n8*2,s,c;if(t==`G1`)s=`g1m_fftFinal`,c=`g1m_batchToAffine`;else if(t==`G2`)s=`g2m_fftFinal`,c=`g2m_batchToAffine`;else throw Error(`Invalid group`);let l=Math.floor(e.byteLength/a);if(l!=1<<q(l))throw Error(`Invalid number of points`);let u=Math.floor(l/i.concurrency),d=[];for(let t=0;t<i.concurrency;t++){let n;if(n=t<i.concurrency-1?u:l-t*u,n==0)continue;let f=[],p=e.slice(t*u*a,(t*u+n)*a);f.push({cmd:`ALLOCSET`,var:0,buff:p}),f.push({cmd:`ALLOCSET`,var:1,buff:r}),f.push({cmd:`CALL`,fnName:s,params:[{var:0},{val:n},{var:1}]}),f.push({cmd:`CALL`,fnName:c,params:[{var:0},{val:n},{var:0}]}),f.push({cmd:`GET`,out:0,var:0,len:n*o}),d.push(i.queueAction(f))}let f=await Promise.all(d),p;p=e instanceof Y?new Y(l*o):new Uint8Array(l*o);let m=0;for(let e=f.length-1;e>=0;e--)p.set(f[e][0],m),m+=f[e][0].byteLength;return p}}async function rr(e){let t=await Xn(e.wasm,e.singleThread),n={};return n.q=g(e.wasm.q.toString()),n.r=g(e.wasm.r.toString()),n.name=e.name,n.tm=t,n.prePSize=e.wasm.prePSize,n.preQSize=e.wasm.preQSize,n.Fr=new Bn(t,`frm`,e.n8r,e.r),n.F1=new Bn(t,`f1m`,e.n8q,e.q),n.F2=new Vn(t,`f2m`,n.F1),n.G1=new Un(t,`g1m`,n.F1,e.wasm.pG1gen,e.wasm.pG1b,e.cofactorG1),n.G2=new Un(t,`g2m`,n.F2,e.wasm.pG2gen,e.wasm.pG2b,e.cofactorG2),n.F6=new Hn(t,`f6m`,n.F2),n.F12=new Vn(t,`ftm`,n.F6),n.Gt=n.F12,Qn(n,`G1`),Qn(n,`G2`),Qn(n,`Fr`),tr(n,`G1`),tr(n,`G2`),nr(n,`G1`),nr(n,`G2`),nr(n,`Fr`),$n(n),n.array2buffer=function(e,t){let n=new Uint8Array(t*e.length);for(let r=0;r<e.length;r++)n.set(e[r],r*t);return n},n.buffer2array=function(e,t){let n=e.byteLength/t,r=Array(n);for(let i=0;i<n;i++)r[i]=e.slice(i*t,i*t+t);return r},n}function ir(e){return BigInt(e)}function ar(e){return e<0n}function or(e){return e===0n}function sr(e){return ar(e)?e.toString(2).length-1:e.toString(2).length}function cr(e){let t=[],n=ir(e);return t.push(Number(n&255n)),t.push(Number(n>>8n&255n)),t.push(Number(n>>16n&255n)),t.push(Number(n>>24n&255n)),t}function lr(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);r<128?t.push(r):r<2048?t.push(192|r>>6,128|r&63):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|r&63):(n++,r=65536+((r&1023)<<10|e.charCodeAt(n)&1023),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63))}return t}function ur(e){let t=lr(e);return[...X(t.length),...t]}function dr(e){let t=[],n=ir(e);if(ar(n))throw Error(`Number cannot be negative`);for(;!or(n);)t.push(Number(n&127n)),n>>=7n;t.length==0&&t.push(0);for(let e=0;e<t.length-1;e++)t[e]=t[e]|128;return t}function fr(e){let t,n,r=sr(e);e<0?(n=!0,t=(1n<<BigInt(r))+e):(n=!1,t=ir(e));let i=7-r%7,a=(1n<<BigInt(i))-1n<<BigInt(r),o=(1<<7-i)-1|128,s=dr(t+a);return n||(s[s.length-1]=s[s.length-1]&o),s}function pr(e){let t=ir(e);if(t>4294967295n)throw Error(`Number too big`);if(t>2147483647n&&(t-=4294967296n),t<-2147483648n)throw Error(`Number too small`);return fr(t)}function mr(e){let t=ir(e);if(t>18446744073709551615n)throw Error(`Number too big`);if(t>9223372036854775807n&&(t-=18446744073709551616n),t<-9223372036854775808n)throw Error(`Number too small`);return fr(t)}function X(e){let t=ir(e);if(t>4294967295n)throw Error(`Number too big`);return dr(t)}function hr(e){return Array.from(e,function(e){return(`0`+(e&255).toString(16)).slice(-2)}).join(``)}var gr=class{constructor(e){this.func=e,this.functionName=e.functionName,this.module=e.module}setLocal(e,t){let n=this.func.localIdxByName[e];if(n===void 0)throw Error(`Local Variable not defined: Function: ${this.functionName} local: ${e} `);return[...t,33,...X(n)]}teeLocal(e,t){let n=this.func.localIdxByName[e];if(n===void 0)throw Error(`Local Variable not defined: Function: ${this.functionName} local: ${e} `);return[...t,34,...X(n)]}getLocal(e){let t=this.func.localIdxByName[e];if(t===void 0)throw Error(`Local Variable not defined: Function: ${this.functionName} local: ${e} `);return[32,...X(t)]}i64_load8_s(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,48,i,...X(r)]}i64_load8_u(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,49,i,...X(r)]}i64_load16_s(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,50,i,...X(r)]}i64_load16_u(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,51,i,...X(r)]}i64_load32_s(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,52,i,...X(r)]}i64_load32_u(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,53,i,...X(r)]}i64_load(e,t,n){let r=t||0,i=n===void 0?3:n;return[...e,41,i,...X(r)]}i64_store(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=3,o=t):Array.isArray(n)?(i=t,a=3,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,55,a,...X(i)]}i64_store32(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=2,o=t):Array.isArray(n)?(i=t,a=2,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,62,a,...X(i)]}i64_store16(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=1,o=t):Array.isArray(n)?(i=t,a=1,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,61,a,...X(i)]}i64_store8(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=0,o=t):Array.isArray(n)?(i=t,a=0,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,60,a,...X(i)]}i32_load8_s(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,44,i,...X(r)]}i32_load8_u(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,45,i,...X(r)]}i32_load16_s(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,46,i,...X(r)]}i32_load16_u(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,47,i,...X(r)]}i32_load(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,40,i,...X(r)]}i32_store(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=2,o=t):Array.isArray(n)?(i=t,a=2,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,54,a,...X(i)]}i32_store16(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=1,o=t):Array.isArray(n)?(i=t,a=1,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,59,a,...X(i)]}i32_store8(e,t,n,r){let i,a,o;return Array.isArray(t)?(i=0,a=0,o=t):Array.isArray(n)?(i=t,a=0,o=n):Array.isArray(r)&&(i=t,a=n,o=r),[...e,...o,58,a,...X(i)]}call(e,...t){let n=this.module.functionIdxByName[e];if(n===void 0)throw Error(`Function not defined: Function: ${e}`);return[...[].concat(...t),16,...X(n)]}call_indirect(e,...t){return[...[].concat(...t),...e,17,0,0]}if(e,t,n){return n?[...e,4,64,...t,5,...n,11]:[...e,4,64,...t,11]}block(e){return[2,64,...e,11]}loop(...e){return[3,64,...[].concat(...e),11]}br_if(e,t){return[...t,13,...X(e)]}br(e){return[12,...X(e)]}ret(e){return[...e,15]}drop(e){return[...e,26]}i64_const(e){return[66,...mr(e)]}i32_const(e){return[65,...pr(e)]}i64_eqz(e){return[...e,80]}i64_eq(e,t){return[...e,...t,81]}i64_ne(e,t){return[...e,...t,82]}i64_lt_s(e,t){return[...e,...t,83]}i64_lt_u(e,t){return[...e,...t,84]}i64_gt_s(e,t){return[...e,...t,85]}i64_gt_u(e,t){return[...e,...t,86]}i64_le_s(e,t){return[...e,...t,87]}i64_le_u(e,t){return[...e,...t,88]}i64_ge_s(e,t){return[...e,...t,89]}i64_ge_u(e,t){return[...e,...t,90]}i64_add(e,t){return[...e,...t,124]}i64_sub(e,t){return[...e,...t,125]}i64_mul(e,t){return[...e,...t,126]}i64_div_s(e,t){return[...e,...t,127]}i64_div_u(e,t){return[...e,...t,128]}i64_rem_s(e,t){return[...e,...t,129]}i64_rem_u(e,t){return[...e,...t,130]}i64_and(e,t){return[...e,...t,131]}i64_or(e,t){return[...e,...t,132]}i64_xor(e,t){return[...e,...t,133]}i64_shl(e,t){return[...e,...t,134]}i64_shr_s(e,t){return[...e,...t,135]}i64_shr_u(e,t){return[...e,...t,136]}i64_extend_i32_s(e){return[...e,172]}i64_extend_i32_u(e){return[...e,173]}i64_clz(e){return[...e,121]}i64_ctz(e){return[...e,122]}i32_eqz(e){return[...e,69]}i32_eq(e,t){return[...e,...t,70]}i32_ne(e,t){return[...e,...t,71]}i32_lt_s(e,t){return[...e,...t,72]}i32_lt_u(e,t){return[...e,...t,73]}i32_gt_s(e,t){return[...e,...t,74]}i32_gt_u(e,t){return[...e,...t,75]}i32_le_s(e,t){return[...e,...t,76]}i32_le_u(e,t){return[...e,...t,77]}i32_ge_s(e,t){return[...e,...t,78]}i32_ge_u(e,t){return[...e,...t,79]}i32_add(e,t){return[...e,...t,106]}i32_sub(e,t){return[...e,...t,107]}i32_mul(e,t){return[...e,...t,108]}i32_div_s(e,t){return[...e,...t,109]}i32_div_u(e,t){return[...e,...t,110]}i32_rem_s(e,t){return[...e,...t,111]}i32_rem_u(e,t){return[...e,...t,112]}i32_and(e,t){return[...e,...t,113]}i32_or(e,t){return[...e,...t,114]}i32_xor(e,t){return[...e,...t,115]}i32_shl(e,t){return[...e,...t,116]}i32_shr_s(e,t){return[...e,...t,117]}i32_shr_u(e,t){return[...e,...t,118]}i32_rotl(e,t){return[...e,...t,119]}i32_rotr(e,t){return[...e,...t,120]}i32_wrap_i64(e){return[...e,167]}i32_clz(e){return[...e,103]}i32_ctz(e){return[...e,104]}unreachable(){return[0]}current_memory(){return[63,0]}comment(){return[]}},_r={i32:127,i64:126,f32:125,f64:124,anyfunc:112,func:96,emptyblock:64},vr=class{constructor(e,t,n,r,i){if(n==`import`)this.fnType=`import`,this.moduleName=r,this.fieldName=i;else if(n==`internal`)this.fnType=`internal`;else throw Error(`Invalid function fnType: `+n);this.module=e,this.fnName=t,this.params=[],this.locals=[],this.localIdxByName={},this.code=[],this.returnType=null,this.nextLocal=0}addParam(e,t){if(this.localIdxByName[e])throw Error(`param already exists. Function: ${this.fnName}, Param: ${e} `);let n=this.nextLocal++;this.localIdxByName[e]=n,this.params.push({type:t})}addLocal(e,t,n){let r=n||1;if(this.localIdxByName[e])throw Error(`local already exists. Function: ${this.fnName}, Param: ${e} `);let i=this.nextLocal++;this.localIdxByName[e]=i,this.locals.push({type:t,length:r})}setReturnType(e){if(this.returnType)throw Error(`returnType already defined. Function: ${this.fnName}`);this.returnType=e}getSignature(){let e=[...X(this.params.length),...this.params.map(e=>_r[e.type])],t=this.returnType?[1,_r[this.returnType]]:[0];return[96,...e,...t]}getBody(){let e=this.locals.map(e=>[...X(e.length),_r[e.type]]),t=[...X(this.locals.length),...[].concat(...e),...this.code,11];return[...X(t.length),...t]}addCode(...e){this.code.push(...[].concat(...e))}getCodeBuilder(){return new gr(this)}},yr=class{constructor(){this.functions=[],this.functionIdxByName={},this.nImportFunctions=0,this.nInternalFunctions=0,this.memory={pagesSize:1,moduleName:`env`,fieldName:`memory`},this.free=8,this.datas=[],this.modules={},this.exports=[],this.functionsTable=[]}build(){return this._setSignatures(),new Uint8Array([...cr(1836278016),...cr(1),...this._buildType(),...this._buildImport(),...this._buildFunctionDeclarations(),...this._buildFunctionsTable(),...this._buildExports(),...this._buildElements(),...this._buildCode(),...this._buildData()])}addFunction(e){if(this.functionIdxByName[e]!==void 0)throw Error(`Function already defined: ${e}`);let t=this.functions.length;return this.functionIdxByName[e]=t,this.functions.push(new vr(this,e,`internal`)),this.nInternalFunctions++,this.functions[t]}addIimportFunction(e,t,n){if(this.functionIdxByName[e]!==void 0)throw Error(`Function already defined: ${e}`);if(this.functions.length>0&&this.functions[this.functions.length-1].type==`internal`)throw Error(`Import functions must be declared before internal: ${e}`);let r=n||e,i=this.functions.length;return this.functionIdxByName[e]=i,this.functions.push(new vr(this,e,`import`,t,r)),this.nImportFunctions++,this.functions[i]}setMemory(e,t,n){this.memory={pagesSize:e,moduleName:t||`env`,fieldName:n||`memory`}}exportFunction(e,t){let n=t||e;if(this.functionIdxByName[e]===void 0)throw Error(`Function not defined: ${e}`);let r=this.functionIdxByName[e];n!=e&&(this.functionIdxByName[n]=r),this.exports.push({exportName:n,idx:r})}addFunctionToTable(e){let t=this.functionIdxByName[e];this.functionsTable.push(t)}addData(e,t){this.datas.push({offset:e,bytes:t})}alloc(e,t){let n,r;(Array.isArray(e)||ArrayBuffer.isView(e))&&t===void 0?(n=e.length,r=e):(n=e,r=t),n=(n-1>>3)+1<<3;let i=this.free;return this.free+=n,r&&this.addData(i,r),i}allocString(e){let t=new globalThis.TextEncoder().encode(e);return this.alloc([...t,0])}_setSignatures(){this.signatures=[];let e={};if(this.functionsTable.length>0){let t=this.functions[this.functionsTable[0]].getSignature(),n=`s_`+hr(t);e[n]=0,this.signatures.push(t)}for(let t=0;t<this.functions.length;t++){let n=this.functions[t].getSignature(),r=`s_`+hr(n);e[r]===void 0&&(e[r]=this.signatures.length,this.signatures.push(n)),this.functions[t].signatureIdx=e[r]}}_buildSection(e,t){return[e,...X(t.length),...t]}_buildType(){return this._buildSection(1,[...X(this.signatures.length),...[].concat(...this.signatures)])}_buildImport(){let e=[];e.push([...ur(this.memory.moduleName),...ur(this.memory.fieldName),2,0,...X(this.memory.pagesSize)]);for(let t=0;t<this.nImportFunctions;t++)e.push([...ur(this.functions[t].moduleName),...ur(this.functions[t].fieldName),0,...X(this.functions[t].signatureIdx)]);return this._buildSection(2,X(e.length).concat(...e))}_buildFunctionDeclarations(){let e=[];for(let t=this.nImportFunctions;t<this.nImportFunctions+this.nInternalFunctions;t++)e.push(...X(this.functions[t].signatureIdx));return this._buildSection(3,[...X(e.length),...[...e]])}_buildFunctionsTable(){return this.functionsTable.length==0?[]:this._buildSection(4,[...X(1),112,0,...X(this.functionsTable.length)])}_buildElements(){if(this.functionsTable.length==0)return[];let e=[];for(let t=0;t<this.functionsTable.length;t++)e.push(...X(this.functionsTable[t]));return this._buildSection(9,[...X(1),...X(0),65,...pr(0),11,...X(this.functionsTable.length),...[...e]])}_buildExports(){let e=[];for(let t=0;t<this.exports.length;t++)e.push([...ur(this.exports[t].exportName),0,...X(this.exports[t].idx)]);return this._buildSection(7,X(e.length).concat(...e))}_buildCode(){let e=[];for(let t=this.nImportFunctions;t<this.nImportFunctions+this.nInternalFunctions;t++)e.push(this.functions[t].getBody());return this._buildSection(10,X(e.length).concat(...e))}_buildData(){let e=[];e.push([0,65,0,11,4,...cr(this.free)]);for(let t=0;t<this.datas.length;t++)e.push([0,65,...pr(this.datas[t].offset),11,...X(this.datas[t].bytes.length),...this.datas[t].bytes]);return this._buildSection(11,X(e.length).concat(...e))}};globalThis.curve_bn128=null;async function br(e,t){if(!e&&globalThis.curve_bn128)return globalThis.curve_bn128;let n=new yr;n.setMemory(25),Sn(n),t&&t(n);let r={};r.code=n.build(),r.pq=n.modules.f1m.pq,r.pr=n.modules.frm.pq,r.pG1gen=n.modules.bn128.pG1gen,r.pG1zero=n.modules.bn128.pG1zero,r.pG1b=n.modules.bn128.pG1b,r.pG2gen=n.modules.bn128.pG2gen,r.pG2zero=n.modules.bn128.pG2zero,r.pG2b=n.modules.bn128.pG2b,r.pOneT=n.modules.bn128.pOneT,r.prePSize=n.modules.bn128.prePSize,r.preQSize=n.modules.bn128.preQSize,r.n8q=32,r.n8r=32,r.q=n.modules.bn128.q,r.r=n.modules.bn128.r;let i={name:`bn128`,wasm:r,q:g(`21888242871839275222246405745257275088696311157297823662689037894645226208583`),r:g(`21888242871839275222246405745257275088548364400416034343698204186575808495617`),n8q:32,n8r:32,cofactorG2:g(`30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d`,16),singleThread:!!e},a=await rr(i);return a.terminate=async function(){i.singleThread||(globalThis.curve_bn128=null,await this.tm.terminate())},e||(globalThis.curve_bn128=a),a}globalThis.curve_bls12381=null;async function xr(e,t){if(!e&&globalThis.curve_bls12381)return globalThis.curve_bls12381;let n=new yr;n.setMemory(25),Cn(n),t&&t(n);let r={};r.code=n.build(),r.pq=n.modules.f1m.pq,r.pr=n.modules.frm.pq,r.pG1gen=n.modules.bls12381.pG1gen,r.pG1zero=n.modules.bls12381.pG1zero,r.pG1b=n.modules.bls12381.pG1b,r.pG2gen=n.modules.bls12381.pG2gen,r.pG2zero=n.modules.bls12381.pG2zero,r.pG2b=n.modules.bls12381.pG2b,r.pOneT=n.modules.bls12381.pOneT,r.prePSize=n.modules.bls12381.prePSize,r.preQSize=n.modules.bls12381.preQSize,r.n8q=48,r.n8r=32,r.q=n.modules.bls12381.q,r.r=n.modules.bls12381.r;let i={name:`bls12381`,wasm:r,q:g(`1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab`,16),r:g(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),n8q:48,n8r:32,cofactorG1:g(`0x396c8c005555e1568c00aaab0000aaab`,16),cofactorG2:g(`0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5`,16),singleThread:!!e},a=await rr(i);return a.terminate=async function(){i.singleThread||(globalThis.curve_bls12381=null,await this.tm.terminate())},e||(globalThis.curve_bls12381=a),a}g(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),g(`21888242871839275222246405745257275088548364400416034343698204186575808495617`),g(`1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab`,16),g(`21888242871839275222246405745257275088696311157297823662689037894645226208583`);async function Sr(e,t,n){let r,i=a(e);if([`BN128`,`BN254`,`ALTBN128`].indexOf(i)>=0)r=await br(t,n);else if([`BLS12381`].indexOf(i)>=0)r=await xr(t,n);else throw Error(`Curve not supported: ${e}`);return r;function a(e){return e.toUpperCase().match(/[A-Za-z0-9]+/g).join(``)}}var Cr=_e,wr=Rn,Tr=(e,t=null,n)=>JSON.stringify(e,(e,n)=>{let r=typeof t==`function`?t(e,n):n;return typeof r==`bigint`?r.toString():r},n),Er=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),Dr=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t),Or=function(e){return e.Wallet=`wallet`,e.Pay=`pay`,e.Bridge=`bridge`,e}({}),kr=function(e){return e.Mainnet=`Mainnet`,e.Testnet=`Testnet`,e.Local=`Local`,e}({}),Ar={hinkalAddress:`0x25e5e82f5702A27C3466fE68f14abDbbAdFca826`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x99D14EEf260C0bf30005e399866321c64C7f4766`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x9DE3EF14Dd024434bB4D8dbc011766bC298CC667`,odosExternalActionInstanceAddress:`0x9B9B980C707e887f28A1fA90D7b8048abe0Ef403`,oneInchExternalActionInstanceAddress:`0xe9057A70d8483940C80Ea4963C7A58cC0Bc1F1F9`,emporiumAddress:`0xcA64D9B41710Bd6e1818D3F0bED939F8e7c5a490`,hinkalWalletAddress:`0x27e94345eAcb931FcE5b9645F078368Ddb67eCa8`,hinkalWrapperAddress:`0x99B5a72d017E08414194c5bdF101ddd2138d171f`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0x4D8eBEa5e6f7375b73f64972A271eB9e11c93D92`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},jr={hinkalAddress:`0x25e5e82f5702A27C3466fE68f14abDbbAdFca826`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x305647287ae8e27876019b45e5b47a0985e1331d`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x9de3ef14dd024434bb4d8dbc011766bc298cc667`,odosExternalActionInstanceAddress:`0x9b9b980c707e887f28a1fa90d7b8048abe0ef403`,oneInchExternalActionInstanceAddress:`0x0b8ef04f865db7d3ab8993647cd35ac8bdd9e4be`,emporiumAddress:`0xE9203a0dC8F1D57ff01dB9128eb458319fA5b8Da`,hinkalWalletAddress:`0xAb6363EBC7B2b769938eAA22909da533A9F1Ee52`,hinkalWalletFactoryAddress:`0xAde6caA3EC51EEb7C1b9b0fA0aC3bF1d02fA1a0f`,hinkalWalletBeaconAddress:`0xeDfBC45C547e0D0A986437CD6107669a035FddC9`,hinkalWrapperAddress:`0xcE32FB80308cE45199F3F339F62dEc8946Bf3B10`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0x2424f124e986183f1cfbbe71f1b1897bafce5662`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},Mr={hinkalAddress:`0x25e5e82f5702A27C3466fE68f14abDbbAdFca826`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x86FfBD1eB2161Fccd2fa7Fd04842cc5dc8DbB619`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x0Ef25083628134e2BF4597061050609173D97D1c`,odosExternalActionInstanceAddress:`0xD7ad9aC985bd346195d8bA99a66d6E9902627be5`,oneInchExternalActionInstanceAddress:`0x9e835a0E7b7d9266Cdb9dDd9B46BccEf153c7845`,emporiumAddress:`0x0e82BD9B97dC49A651E8E0155E48b2b101fD7b00`,hinkalWalletAddress:`0xf95e20d23262Ad4Be6b3c1D9930098443fE23482`,hinkalWrapperAddress:`0xD861ddbd81Bd59A44110De89Fd281e3886B42268`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0xf027f8bb1a56cc33B24ddE47c27e118d749e637f`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},Nr={hinkalAddress:`0x25e5e82f5702A27C3466fE68f14abDbbAdFca826`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x97c2a7D8876e79d4dfAC05F8413624BC352A43EF`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0xbBDE21B38026D932BE6EDc44592378C09D28A003`,odosExternalActionInstanceAddress:`0x3E543A6f71a65F2E8A727a7ef147329F2AADbff9`,oneInchExternalActionInstanceAddress:`0x989176dB34bd5a6500dFFaD45ff212330Fe8fBD0`,emporiumAddress:`0x5B0d61033Ea5B176e1B897C3Ed471fF3dC6272aC`,hinkalWalletAddress:`0x5332C70a98ff45D16098E25F2d69971Ce46dE395`,hinkalWrapperAddress:`0xBAF68fea9e1C306Df3556BdcA871725A8500BE70`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0x414B2498C7236825A5c72acAe17aD3982Fb47574`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},Pr={hinkalAddress:`0x25e5e82f5702A27C3466fE68f14abDbbAdFca826`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0xD0191A3Fb8F0A6c05ac393fB338cEBA3fB5555E5`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x043258814389403E396D58BFD5c2585e4d856097`,odosExternalActionInstanceAddress:`0x737E33EBe0b6FF66841B890ccF7BB7Ae3dc4CEA1`,oneInchExternalActionInstanceAddress:`0x824234f96e82d56d73aCD59273E964b7AE22f849`,emporiumAddress:`0x9Ee3b51350c98f0E912441aAf35166d7A71310A0`,hinkalWalletAddress:`0xd079ADceaeC7276f693a097248246Da6ac581A19`,hinkalWrapperAddress:`0x7a71635F72408FA540796c39F1Bf43BDe08F85E5`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0x13252c49226F926a420d530a1B72e88A1EFDe378`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},Fr={hinkalAddress:`0x13b65FA5375af51A12762499602bE7B92afB8CD6`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x6D5DFa6Ec97bF1Da5396033F305dFA8575c1f5a7`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x82C4B40BFb0eD6Af3675aDf3FBa655f01c132D33`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0xa9CcAa5FE169EbA41ccD895795D1bcbDc5CabCFA`,odosExternalActionInstanceAddress:`0x2A96B7938941534D7dC2A6fCaEde22e328576f50`,oneInchExternalActionInstanceAddress:`0xFC7C7c2D3784F3Fe6c505Fc6D169E5f9322BFB7c`,emporiumAddress:`0x23A64eF68de98C6Cf01e3A5202d47a3bcee6f920`,hinkalWalletFactoryAddress:`0xD0b3FF7e99dcD6058362c7B0894DBB34723D1bfA`,hinkalWalletBeaconAddress:`0x85f525996478fe87e265dfdb99e6C3ebE2D6E876`},Ir={hinkalAddress:`0x92c4Dce78EC1833b2966daF9be175EF50e95BA01`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperAddress:`0x2404F64A2462EA25AE95f77AD4006c5C1E54cD2f`,hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`address`,name:`_inLogicSigner`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidShortString`,type:`error`},{inputs:[{internalType:`string`,name:`str`,type:`string`}],name:`StringTooLong`,type:`error`},{anonymous:!1,inputs:[],name:`EIP712DomainChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`eip712Domain`,outputs:[{internalType:`bytes1`,name:`fields`,type:`bytes1`},{internalType:`string`,name:`name`,type:`string`},{internalType:`string`,name:`version`,type:`string`},{internalType:`uint256`,name:`chainId`,type:`uint256`},{internalType:`address`,name:`verifyingContract`,type:`address`},{internalType:`bytes32`,name:`salt`,type:`bytes32`},{internalType:`uint256[]`,name:`extensions`,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`inLogicSigner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_inLogicSigner`,type:`address`}],name:`setInLogicSigner`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenAddress:`0x27245f9e10a8480495c9F23a8DBa8cBAB9b73766`,accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],emporiumAddress:`0xe59FF2F5eC7D109221ffaAbE183A64A63FA4F8c8`,hinkalWalletAddress:`0x5B9FffF15dE4fFB1c884039B44e49EbB027b130d`,hinkalWrapperAddress:`0x5bD7D79BE6e52EcC0969FeEbBbc8482Cb76367ef`,hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],depositOnChainUtxosExternalActionAddress:`0x1E3c941208C392999213f443338CB0cB0eCf2A34`,depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},Lr={hinkalAddress:`J4SsjA1Zqf2tZfBJjYrEKXocM9NdP2xHNfAQLM7McG5H`,hinkalIdl:JSON.parse(`{"address":"J4SsjA1Zqf2tZfBJjYrEKXocM9NdP2xHNfAQLM7McG5H","metadata":{"name":"hinkal","version":"0.1.0","spec":"0.1.0","description":"Created with Anchor"},"instructions":[{"name":"accept_ownership","discriminator":[172,23,43,13,238,213,85,150],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[]},{"name":"add_access_token","discriminator":[237,41,189,178,135,37,9,178],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"access_token_storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_owner","signer":true},{"name":"accesskey_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,107,101,121,115]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"access_key"}]}},{"name":"merkle_account_access_token","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"access_key","type":{"array":["u8",32]}}]},{"name":"change_access_token_owner_key","discriminator":[195,251,147,150,188,74,229,39],"accounts":[{"name":"owner","signer":true},{"name":"original_deployer"},{"name":"storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"new_access_token_owner"}],"args":[]},{"name":"close_nullifier","discriminator":[162,69,214,3,121,155,58,219],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"init_nullifier","discriminator":[187,124,88,139,111,232,162,236],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"nullifier_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,110,117,108,108,105,102,105,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"nullifier"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"nullifier","type":{"array":["u8",32]}}]},{"name":"init_token_limit","discriminator":[101,50,38,98,240,193,205,13],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"mint","optional":true},{"name":"token_limit_storage","writable":true},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"initialize","discriminator":[175,175,109,31,13,152,155,237],"accounts":[{"name":"original_deployer","writable":true,"signer":true},{"name":"storage_vault","docs":["zero-length PDA owned by the system program that only stores lamports"],"writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account_access_token","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"rent","address":"SysvarRent111111111111111111111111111111111"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[]},{"name":"multi_payment_deposit","discriminator":[70,64,60,132,3,67,69,74],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_owner","signer":true,"optional":true},{"name":"token_limit_storage","writable":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amounts","type":{"vec":"u64"}},{"name":"stealth_address_structure","type":{"vec":{"defined":{"name":"StealthAddressStructure"}}}},{"name":"create_blocked_utxos","type":"bool"}]},{"name":"proofless_deposit","discriminator":[238,63,30,216,109,36,109,123],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_owner","signer":true,"optional":true},{"name":"token_limit_storage","writable":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"},{"name":"stealth_address_structure","type":{"defined":{"name":"StealthAddressStructure"}}}]},{"name":"store_encrypted_outputs","discriminator":[119,158,243,225,12,25,29,85],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"encrypted_outputs_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"encrypted_outputs","type":{"defined":{"name":"EncryptedOutputs"}}}]},{"name":"store_instructions","discriminator":[74,235,173,153,203,64,250,122],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"instructions_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]},{"name":"store_proof_part1","discriminator":[174,144,197,114,7,196,154,191],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part1","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]},{"name":"store_proof_part2","discriminator":[32,225,73,0,60,163,213,158],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"proof_account_part2","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]},{"name":"swap2","discriminator":[65,75,63,76,235,91,91,136],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account_access_token","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"from_token_limit"},{"name":"to_token_limit"},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"swap6","discriminator":[99,72,77,24,113,171,250,215],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"swapper_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,115,119,97,112,112,101,114]},{"kind":"account","path":"original_deployer"},{"kind":"arg","path":"swapper_account_additional_seed"}]}},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint_from","optional":true},{"name":"mint_to","optional":true},{"name":"signer_to_ata","writable":true,"optional":true},{"name":"storage_vault_from_ata","writable":true,"optional":true},{"name":"storage_vault_to_ata","writable":true,"optional":true},{"name":"swapper_account_from_ata","writable":true,"optional":true},{"name":"swapper_account_to_ata","writable":true,"optional":true},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account_access_token","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"from_token_limit"},{"name":"to_token_limit"},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"seventh_nullifier","writable":true,"optional":true},{"name":"eighth_nullifier","writable":true,"optional":true},{"name":"nineth_nullifier","writable":true,"optional":true},{"name":"tenth_nullifier","writable":true,"optional":true},{"name":"eleventh_nullifier","writable":true,"optional":true},{"name":"twelveth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"instructions_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,105,110,115,116,114,117,99,116,105,111,110,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority","pda":{"seeds":[{"kind":"const","value":[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{"name":"program"}],"args":[{"name":"id","type":"u32"},{"name":"swapper_account_additional_seed","type":{"array":["u8",32]}},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"variable_rate","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"transact2","discriminator":[147,170,237,9,83,181,181,81],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account_access_token","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"token_limit_storage","writable":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"transact6","discriminator":[141,202,39,130,160,18,56,118],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"recipient","writable":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"recipient_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"recipient"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"merkle_account_access_token","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"access_token_storage_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,97,99,99,101,115,115,95,116,111,107,101,110]},{"kind":"account","path":"original_deployer"}]}},{"name":"token_limit_storage","writable":true},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"forbid_deposit","type":"bool"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"transfer2","discriminator":[27,140,248,82,105,169,171,143],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"transfer6","discriminator":[181,146,34,243,187,199,220,67],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"storage_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,118,97,117,108,116]},{"kind":"account","path":"original_deployer"}]}},{"name":"mint","optional":true},{"name":"signer_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"signer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"storage_vault_ata","writable":true,"optional":true,"pda":{"seeds":[{"kind":"account","path":"storage_vault"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"merkle_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,109,101,114,107,108,101]},{"kind":"account","path":"original_deployer"}]}},{"name":"first_nullifier","writable":true,"optional":true},{"name":"second_nullifier","writable":true,"optional":true},{"name":"third_nullifier","writable":true,"optional":true},{"name":"fourth_nullifier","writable":true,"optional":true},{"name":"fifth_nullifier","writable":true,"optional":true},{"name":"sixth_nullifier","writable":true,"optional":true},{"name":"encrypted_outputs_account","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,101,110,99,114,121,112,116,101,100,95,111,117,116,112,117,116,115]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part1","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,49]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"proof_account_part2","pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108,95,112,114,111,111,102,95,112,97,114,116,50]},{"kind":"account","path":"original_deployer"},{"kind":"account","path":"signer"},{"kind":"arg","path":"id"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"id","type":"u32"},{"name":"in_nullifiers","type":{"vec":{"array":["u8",32]}}},{"name":"relayer_fee","type":"u64"},{"name":"dimensions","type":{"defined":{"name":"Dimensions"}}}]},{"name":"transfer_ownership","discriminator":[65,177,215,73,53,45,99,47],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}}],"args":[{"name":"new_owner","type":"pubkey"}]},{"name":"update_relayer_status","discriminator":[247,180,15,221,102,66,142,253],"accounts":[{"name":"signer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"relayer"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"status","type":"bool"}]},{"name":"update_token_limit","discriminator":[76,78,222,27,68,124,113,42],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"original_deployer"},{"name":"mint","optional":true},{"name":"token_limit_storage","writable":true},{"name":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"kind":"account","path":"original_deployer"}]}},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"amount","type":"u64"}]}],"accounts":[{"name":"AccessTokenStorageAccount","discriminator":[141,226,180,59,133,124,66,180]},{"name":"AccesskeyAccount","discriminator":[173,112,95,217,116,67,209,214]},{"name":"EncryptedOutputsAccount","discriminator":[38,153,140,49,115,38,136,21]},{"name":"InstructionsAccount","discriminator":[158,246,131,222,29,159,202,65]},{"name":"Merkle","discriminator":[55,52,102,252,195,69,204,210]},{"name":"NullifierAccount","discriminator":[250,31,238,177,213,98,48,172]},{"name":"ProofAccountPart1","discriminator":[227,231,205,87,22,154,112,114]},{"name":"ProofAccountPart2","discriminator":[84,185,22,128,59,14,111,158]},{"name":"StorageAccount","discriminator":[41,48,231,194,22,77,205,235]},{"name":"TokenLimitStorageAccount","discriminator":[245,35,95,177,138,179,80,82]}],"events":[{"name":"AccessTokenOwnerChanged","discriminator":[68,231,13,75,227,104,188,86]},{"name":"BlockedUtxosCreated","discriminator":[64,214,216,215,75,156,106,107]},{"name":"NewAccessKeyAdded","discriminator":[4,138,241,97,75,107,29,235]},{"name":"NewCommitment","discriminator":[78,21,75,243,5,132,204,67]},{"name":"Nullified","discriminator":[124,69,200,64,75,203,121,17]},{"name":"OwnershipAccepted","discriminator":[60,223,46,198,226,73,39,18]},{"name":"OwnershipTransferred","discriminator":[172,61,205,183,250,50,38,98]},{"name":"RelayerStatusUpdated","discriminator":[47,132,241,182,171,89,127,242]},{"name":"TokenLimitUpdated","discriminator":[129,164,134,229,69,191,74,160]}],"errors":[{"code":6000,"name":"InvalidMintConfiguration","msg":"Invalid combination of mint accounts supplied for swap."},{"code":6001,"name":"MissingMintFrom","msg":"Missing mint account for source leg."},{"code":6002,"name":"MissingMintTo","msg":"Missing mint account for destination leg."},{"code":6003,"name":"IdenticalTokenMints","msg":"Source and destination token mints cannot be identical."},{"code":6004,"name":"MissingStorageSourceAta","msg":"Missing storage vault source token ATA."},{"code":6005,"name":"MissingStorageDestinationAta","msg":"Missing storage vault destination token ATA."},{"code":6006,"name":"MissingSwapperSourceAta","msg":"Missing swapper account source token ATA."},{"code":6007,"name":"MissingSwapperDestinationAta","msg":"Missing swapper account destination token ATA."},{"code":6008,"name":"ReceivedAmountLowerThanExpected","msg":"Received amount lower than expected"},{"code":6009,"name":"ExpectedNegativeInputAmount","msg":"Expected negative input amount"},{"code":6010,"name":"ExpectedPositiveOutputAmount","msg":"Expected positive output amount"},{"code":6011,"name":"UnexpectedOnchainCreation","msg":"Unexpected onchain creation values specified"},{"code":6012,"name":"UnexpectedDimensions","msg":"Unexpected dimensions"},{"code":6013,"name":"ValueLargerThanCircomP","msg":"Value larger than circom P"},{"code":6014,"name":"UnsafeArithmetic","msg":"Unsafe arithmetic"},{"code":6015,"name":"FeeCalculationOverflow","msg":"Fee calculation overflow"},{"code":6016,"name":"InvalidPublicSignalsSize","msg":"Invalid public signals size for proof verification"},{"code":6017,"name":"UnsupportedDimensions","msg":"Unsupported dimensions for proof verification"},{"code":6018,"name":"ExpectedAccessTokenOwner","msg":"Expected access token owner"},{"code":6019,"name":"AccessTokenRequired","msg":"Access token required"},{"code":6020,"name":"AccessTokenAlreadyAdded","msg":"Access token already adaded"},{"code":6021,"name":"NullifierAlreadyUsed","msg":"Cannot close a nullifier account that has already been used"},{"code":6022,"name":"AccessTokenOwnerDepositForbidden","msg":"Access token owner deposit forbidden"},{"code":6023,"name":"Unauthorized","msg":"Unauthorized"},{"code":6024,"name":"CalldataHashMismatch","msg":"Calldata hash mismatch"},{"code":6025,"name":"RootHashDoesNotExist","msg":"Root hash doesn't exist"},{"code":6026,"name":"InvalidAmountChange","msg":"Invalid amount change"},{"code":6027,"name":"RelayerNotWhitelisted","msg":"Relayer account not whitelisted"},{"code":6028,"name":"ExpectedMintAddressZero","msg":"Expected mint address to be zero"},{"code":6029,"name":"ExpectedMintAddressNotZero","msg":"Expected mint address not to be zero"},{"code":6030,"name":"UnsupportedDimensionsError","msg":"Unsupported dimensions"},{"code":6031,"name":"InNullifiersLengthMismatch","msg":"In nullifiers length mismatch"},{"code":6032,"name":"InNullifierMismatch","msg":"In nullifier mismatch"},{"code":6033,"name":"PoseidonHashFailed","msg":"Poseidon hash failed"},{"code":6034,"name":"NullifierUsed","msg":"Nullifier used"},{"code":6035,"name":"NullifierNotZeroButAccountNotSpecified","msg":"Nullifier not zero, but account not specified"},{"code":6036,"name":"NullifierAccountsListLengthMustBeEven","msg":"Nullifier accounts list length must be even"},{"code":6037,"name":"OnChainCreationLengthMismatch","msg":"On chain creation length mismatch"},{"code":6038,"name":"EncryptedOutputsLengthMismatch","msg":"Encrypted outputs length mismatch"},{"code":6039,"name":"ProofVerificationFailed","msg":"Proof verification failed"},{"code":6040,"name":"UnexpectedValue","msg":"Unexpected value"},{"code":6041,"name":"ATAValidationFailed","msg":"Associate token account validation failed"},{"code":6042,"name":"BalanceDiffMismatch","msg":"Balance Diff Should be equal to sum of onchain and offchain created commitments"},{"code":6043,"name":"ZeroRandomizationForbidden","msg":"Randomization cannot be zero"},{"code":6044,"name":"RemainingAccountSignerForbidden","msg":"Ramaining account signer forbidden"},{"code":6045,"name":"DepositForbidden","msg":"Deposit forbidden"},{"code":6046,"name":"SwapperAccountAdditionalSeedMismatch","msg":"Swapper account additional seed mismatch"},{"code":6047,"name":"InvalidVersion","msg":"Invalid Version"},{"code":6048,"name":"SelfCPIForbidden","msg":"Self-CPI forbidden"},{"code":6049,"name":"InvalidNullifierPDA","msg":"Invalid nullifier pda"}],"types":[{"name":"AccessTokenOwnerChanged","type":{"kind":"struct","fields":[{"name":"old_owner","type":"pubkey"},{"name":"new_owner","type":"pubkey"}]}},{"name":"AccessTokenStorageAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"access_token_owner_key","type":"pubkey"}]}},{"name":"AccesskeyAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"is_added","type":"bool"}]}},{"name":"BlockedUtxosCreated","type":{"kind":"struct","fields":[{"name":"sender","type":"pubkey"},{"name":"mint","type":"pubkey"},{"name":"amounts","type":{"vec":"u64"}}]}},{"name":"Dimensions","type":{"kind":"struct","fields":[{"name":"token_number","type":"u8"},{"name":"nullifier_amount","type":"u8"},{"name":"output_amount","type":"u8"}]}},{"name":"EncryptedOutputs","type":{"kind":"struct","fields":[{"name":"outputs","type":{"vec":"bytes"}}]}},{"name":"EncryptedOutputsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"encrypted_outputs","type":{"vec":"bytes"}}]}},{"name":"InstructionsAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"instructions","type":{"vec":{"defined":{"name":"SolanaInstructionData"}}}}]}},{"name":"Merkle","serialization":"bytemuck","repr":{"kind":"c"},"type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"tree_levels","type":{"array":[{"array":["u8",32]},200]}},{"name":"roots","type":{"array":[{"array":["u8",32]},100]}},{"name":"m_index","type":{"array":["u8",32]}},{"name":"root_index","type":{"array":["u8",32]}},{"name":"levels","type":{"array":["u8",16]}},{"name":"minimum_index","type":{"array":["u8",32]}}]}},{"name":"NewAccessKeyAdded","type":{"kind":"struct","fields":[{"name":"access_key","type":{"array":["u8",32]}},{"name":"index","type":{"array":["u8",32]}},{"name":"sender_address","type":{"array":["u8",32]}}]}},{"name":"NewCommitment","type":{"kind":"struct","fields":[{"name":"commitment","type":{"array":["u8",32]}},{"name":"index","type":{"array":["u8",32]}},{"name":"encrypted_output","type":"bytes"},{"name":"on_chain_data","type":{"array":[{"array":["u8",32]},8]}}]}},{"name":"Nullified","type":{"kind":"struct","fields":[{"name":"nullifier","type":{"array":["u8",32]}}]}},{"name":"NullifierAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"is_used","type":"bool"}]}},{"name":"OwnershipAccepted","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_owner","type":"pubkey"}]}},{"name":"OwnershipTransferred","type":{"kind":"struct","fields":[{"name":"previous_owner","type":"pubkey"},{"name":"new_pending_owner","type":"pubkey"}]}},{"name":"ProofAccountPart1","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"proof_a_arr","type":{"array":["u8",64]}},{"name":"proof_b_arr","type":{"array":["u8",128]}},{"name":"proof_c_arr","type":{"array":["u8",64]}},{"name":"public_signals_part1","type":{"vec":{"array":["u8",32]}}}]}},{"name":"ProofAccountPart2","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"public_signals_part2","type":{"vec":{"array":["u8",32]}}}]}},{"name":"RelayerStatusUpdated","type":{"kind":"struct","fields":[{"name":"relayer","type":"pubkey"},{"name":"status","type":"bool"}]}},{"name":"SolanaInstructionData","type":{"kind":"struct","fields":[{"name":"account_indexes","type":"bytes"},{"name":"data","type":"bytes"},{"name":"program_index","type":"u8"}]}},{"name":"StealthAddressStructure","type":{"kind":"struct","fields":[{"name":"extra_randomization","type":{"array":["u8",32]}},{"name":"stealth_address","type":{"array":["u8",32]}},{"name":"h0","type":{"array":["u8",32]}},{"name":"h1","type":{"array":["u8",32]}}]}},{"name":"StorageAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"whitelisted_relayers","type":{"vec":"pubkey"}},{"name":"owner","type":"pubkey"},{"name":"pending_owner","type":"pubkey"}]}},{"name":"TokenLimitStorageAccount","type":{"kind":"struct","fields":[{"name":"version","type":"u8"},{"name":"amount_limit","type":"u64"}]}},{"name":"TokenLimitUpdated","type":{"kind":"struct","fields":[{"name":"mint","type":{"option":"pubkey"}},{"name":"amount_limit","type":"u64"}]}}]}`),originalDeployer:`DW2Na5Q41Ve6HZQzMvPwJVT1tzKnb2UCp8WZkk1EcJUw`},Rr={hinkalAddress:`0x4a4f166f07ee0e867dc6d02b4083da87713539d3`,hinkalHelperAddress:`0x239525705162c7fe10fa6beae29592f1e678945d`,accessTokenAddress:`0x675818f7740f68e7244310eb764a65e4e4a57769`,depositOnChainUtxosExternalActionAddress:`0x27243d36027c3bd454af52b25d9f4923e392fa5f`,hinkalWrapperAddress:`0x7d0bedd640a63bb33167898b2dc1c43a23762e20`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`}],internalType:`struct Signature`,name:`proofSignature`,type:`tuple`},{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`}],internalType:`struct Signature`,name:`proofSignature`,type:`tuple`},{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]},zr={hinkalAddress:`0x65cd1b3921ece2ec8663fa1728e827ccfd5104db`,hinkalHelperAddress:`0x6ee21e3ea630198213212eb5e38bf379febce361`,accessTokenAddress:`0x6f41e4ecd1a754f514a6af01e07f68c5bef2cf2d`,depositOnChainUtxosExternalActionAddress:`0xfe35cc5d88569de7d03c8e5fd09da42a2d79fc27`,hinkalWrapperAddress:`0x60fe24dcfb3dad88e620d7810720c75b8888b625`,hinkalABI:[{inputs:[{components:[{internalType:`uint128`,name:`levels`,type:`uint128`},{internalType:`address`,name:`poseidon2`,type:`address`},{internalType:`address`,name:`poseidon4`,type:`address`},{internalType:`address`,name:`poseidon5`,type:`address`}],internalType:`struct IMerkle.MerkleConstructorArgs`,name:`constructorArgs`,type:`tuple`},{internalType:`address`,name:`_hinkalHelper`,type:`address`},{internalType:`address`,name:`_hinkalInLogic`,type:`address`},{internalType:`address`,name:`_hinkalHelperManager`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`BufferReleased`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`ExternalActionRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approveTo`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`amount`,type:`int256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewApprovedUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`approvalTarget`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`NewBufferEntry`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`commitment`,type:`uint256`},{indexed:!1,internalType:`int256`,name:`index`,type:`int256`},{indexed:!1,internalType:`bytes`,name:`encryptedOutput`,type:`bytes`}],name:`NewCommitment`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`timestamp`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20TokenAddress`,type:`address`},{indexed:!1,internalType:`int256`,name:`publicAmount`,type:`int256`}],name:`NewTransaction`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`},{indexed:!1,internalType:`address`,name:`erc20Address`,type:`address`},{indexed:!1,internalType:`uint256`,name:`randomization`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`timeStamp`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`tokenId`,type:`uint256`}],name:`NewUtxo`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`nullifier`,type:`uint256`}],name:`Nullified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`previousAdminRole`,type:`bytes32`},{indexed:!0,internalType:`bytes32`,name:`newAdminRole`,type:`bytes32`}],name:`RoleAdminChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleGranted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`bytes32`,name:`role`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`account`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`}],name:`RoleRevoked`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`},{indexed:!1,internalType:`address`,name:`verifierAddress`,type:`address`}],name:`VerifierRegistered`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`VerifierRemoved`,type:`event`},{inputs:[],name:`DEFAULT_ADMIN_ROLE`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`HINKAL_HELPER_MANAGER`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`approvalTargets`,type:`address[]`},{internalType:`uint256[][]`,name:`indexes`,type:`uint256[][]`}],name:`bufferApprovals`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`}],name:`buildVerifierId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`externalActionMap`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`approveTo`,type:`address`},{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],name:`getBufferEntry`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`interaction`,type:`address`}],name:`getInteractionApprovals`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`}],internalType:`struct ApprovedUtxo[]`,name:`approvedUtxos`,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`}],name:`getRoleAdmin`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`grantRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`hasRole`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a`,type:`uint256`},{internalType:`uint256`,name:`b`,type:`uint256`}],name:`hash2`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`}],name:`hash4`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`a0`,type:`uint256`},{internalType:`uint256`,name:`a1`,type:`uint256`},{internalType:`uint256`,name:`a2`,type:`uint256`},{internalType:`uint256`,name:`a3`,type:`uint256`},{internalType:`uint256`,name:`a4`,type:`uint256`}],name:`hash5`,outputs:[{internalType:`uint256`,name:`poseidonHash`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalHelper`,outputs:[{internalType:`contract IHinkalHelper`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalInLogic`,outputs:[{internalType:`contract IHinkalInLogic`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`x`,type:`uint256`}],name:`logarithm2`,outputs:[{internalType:`uint256`,name:`y`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`m_index`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`nullifiers`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon2`,outputs:[{internalType:`contract IPoseidon2`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon4`,outputs:[{internalType:`contract IPoseidon4`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`poseidon5`,outputs:[{internalType:`contract IPoseidon5`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`prooflessDeposit`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`address`,name:`externalActionAddress`,type:`address`}],name:`registerExternalAction`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256[]`,name:`verifierIds`,type:`uint256[]`},{internalType:`address[]`,name:`verifierAddresses`,type:`address[]`}],name:`registerVerifiers`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`verifierId`,type:`uint256`}],name:`removeVerifier`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`renounceRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`role`,type:`bytes32`},{internalType:`address`,name:`account`,type:`address`}],name:`revokeRole`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`_root`,type:`uint256`}],name:`rootHashExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rootIndex`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`roots`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalHelper`,type:`address`}],name:`setHinkalHelper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalLogic`,type:`address`}],name:`setHinkalLogic`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`}],internalType:`struct Signature`,name:`proofSignature`,type:`tuple`},{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`tree`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`verifierMap`,outputs:[{internalType:`contract IVerifier`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalHelperABI:[{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`},{internalType:`address`,name:`_accessToken`,type:`address`},{internalType:`uint256[]`,name:`_stakeCircuitIds`,type:`uint256[]`},{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`address[]`,name:`_initialRelays`,type:`address[]`},{internalType:`address[]`,name:`_limitTokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`}],name:`GasTokenRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`isEnabled`,type:`bool`}],name:`RegistryStateChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`relayAddress`,type:`address`}],name:`RelayRemoved`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`erc20Token`,type:`address`},{indexed:!1,internalType:`uint256`,name:`tokenLimit`,type:`uint256`}],name:`TokenLimit`,type:`event`},{inputs:[],name:`MAX_AMOUNT`,outputs:[{internalType:`int256`,name:``,type:`int256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`POINTER_SEPARATOR`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`accessToken`,outputs:[{internalType:`contract IAccessToken`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`addRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`balance`,type:`uint256`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],name:`calculateRelayFee`,outputs:[{internalType:`uint256`,name:`relayFee`,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address[]`,name:`_gasTokens`,type:`address[]`},{internalType:`bool[]`,name:`values`,type:`bool[]`}],name:`changeGasTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bool`,name:`_enabled`,type:`bool`}],name:`changeState`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`}],name:`checkTokenRegistry`,outputs:[{internalType:`bool`,name:`limitHit`,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`enabled`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`gasTokens`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointSign`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`uint256`,name:`H`,type:`uint256`}],name:`getPointY`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`getRelayStore`,outputs:[{internalType:`address[]`,name:``,type:`address[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_token`,type:`address`}],name:`getTokenLimit`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`isGasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`relayAddress`,type:`address`}],name:`isRelayInList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{internalType:`address`,name:`sender`,type:`address`}],name:`performHinkalChecks`,outputs:[{internalType:`uint256[]`,name:``,type:`uint256[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address[]`,name:`erc20Addresses`,type:`address[]`},{internalType:`uint256[]`,name:`amounts`,type:`uint256[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure[]`,name:`stealthAddressStructures`,type:`tuple[]`}],name:`performProoflessDepositChecks`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`performSideEffects`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`relayList`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:``,type:`uint256`}],name:`relayStore`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_relayAddress`,type:`address`}],name:`removeRelay`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_accessToken`,type:`address`}],name:`setAccessToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`_tokens`,type:`address[]`},{internalType:`uint256[]`,name:`_tokenLimits`,type:`uint256[]`}],name:`setTokenLimits`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`}],name:`tokenLimits`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bool`,name:`value`,type:`bool`}],name:`updateStakeCircuits`,outputs:[],stateMutability:`nonpayable`,type:`function`}],accessTokenABI:[{inputs:[{internalType:`contract IAccessTokenStorage`,name:`_accessTokenStorage`,type:`address`},{internalType:`address`,name:`_axelarGateway`,type:`address`},{internalType:`address`,name:`_gasService`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[],name:`InvalidAddress`,type:`error`},{inputs:[],name:`InvalidAddressString`,type:`error`},{inputs:[],name:`NotApprovedByGateway`,type:`error`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`blacklistedAccessKey`,type:`uint256`}],name:`AccessKeyBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`string`,name:`sourceChain`,type:`string`}],name:`AccessKeyMigrationReceived`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`blacklistedAddress`,type:`address`}],name:`AddressBlacklisted`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`addressToRestore`,type:`address`}],name:`AddressRemovedFromBlacklist`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`newMintingFee`,type:`uint256`}],name:`MintingFeeChanged`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint256`,name:`accessKey`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`index`,type:`uint256`},{indexed:!1,internalType:`address`,name:`senderAddress`,type:`address`}],name:`NewAccessKeyAdded`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`accessTokenStorage`,outputs:[{internalType:`contract IAccessTokenStorage`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`}],name:`addToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`accessToken`,type:`uint256`},{internalType:`address`,name:`ethAddress`,type:`address`}],internalType:`struct AccessTokenWithAddress[]`,name:`accessObjects`,type:`tuple[]`}],name:`approveTokens`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`index`,type:`uint256`}],name:`blacklistAccessKey`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`blacklistAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`address`,name:`sender`,type:`address`}],name:`checkForRootHash`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`}],name:`execute`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes32`,name:`commandId`,type:`bytes32`},{internalType:`string`,name:`sourceChain`,type:`string`},{internalType:`string`,name:`sourceAddress`,type:`string`},{internalType:`bytes`,name:`payload`,type:`bytes`},{internalType:`string`,name:`tokenSymbol`,type:`string`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`executeWithToken`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`gasService`,outputs:[{internalType:`contract IAxelarGasService`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`gateway`,outputs:[{internalType:`contract IAxelarGateway`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getRootHash`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`hasToken`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`hinkal`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{components:[{internalType:`string`,name:`destinationChain`,type:`string`},{internalType:`string`,name:`destinationAddress`,type:`string`},{internalType:`uint256`,name:`messageFee`,type:`uint256`}],internalType:`struct AxelarChainInfo[]`,name:`chains`,type:`tuple[]`},{internalType:`uint256`,name:`totalMessageFees`,type:`uint256`}],internalType:`struct AxelarCapsule`,name:`capsule`,type:`tuple`},{internalType:`uint256`,name:`accessKey`,type:`uint256`}],name:`migrateAccessToken`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`registerCheck`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_address`,type:`address`}],name:`removeAddressFromBlacklist`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_gasService`,type:`address`}],name:`setAxelarGasService`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],depositOnChainUtxosExternalActionABI:[{inputs:[{internalType:`address[]`,name:`_allowedRecipients`,type:`address[]`},{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!1,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`address`,name:`tokenAddress`,type:`address`},{indexed:!1,internalType:`uint256`,name:`amount`,type:`uint256`}],name:`BlockedUtxosCreated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`},{internalType:`int256[]`,name:`deltaAmounts`,type:`int256[]`}],name:`runAction`,outputs:[{components:[{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`address`,name:`erc20Address`,type:`address`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{internalType:`uint256`,name:`tokenId`,type:`uint256`}],internalType:`struct UTXO[]`,name:``,type:`tuple[]`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address[]`,name:`recipients`,type:`address[]`}],name:`setAllowedRecipients`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkalWrapper`,type:`address`}],name:`setHinkalWrapper`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}],hinkalWrapperABI:[{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getEth`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`getSender`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`uint256[]`,name:``,type:`uint256[]`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155BatchReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC1155Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:``,type:`address`},{internalType:`uint256`,name:``,type:`uint256`},{internalType:`bytes`,name:``,type:`bytes`}],name:`onERC721Received`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`pure`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`_hinkal`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`_interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`}],internalType:`struct Signature`,name:`proofSignature`,type:`tuple`},{internalType:`uint256[2]`,name:`a`,type:`uint256[2]`},{internalType:`uint256[2][2]`,name:`b`,type:`uint256[2][2]`},{internalType:`uint256[2]`,name:`c`,type:`uint256[2]`},{components:[{internalType:`uint16`,name:`tokenNumber`,type:`uint16`},{internalType:`uint16`,name:`nullifierAmount`,type:`uint16`},{internalType:`uint16`,name:`outputAmount`,type:`uint16`}],internalType:`struct Dimensions`,name:`dimensions`,type:`tuple`},{components:[{internalType:`uint256`,name:`rootHashHinkal`,type:`uint256`},{internalType:`address[]`,name:`erc20TokenAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`tokenIds`,type:`uint256[]`},{internalType:`int256[]`,name:`amountChanges`,type:`int256[]`},{internalType:`bool[]`,name:`onChainCreation`,type:`bool[]`},{internalType:`int256[]`,name:`slippageValues`,type:`int256[]`},{internalType:`uint256[][]`,name:`inputNullifiers`,type:`uint256[][]`},{internalType:`uint256[][]`,name:`outCommitments`,type:`uint256[][]`},{internalType:`bytes[][]`,name:`encryptedOutputs`,type:`bytes[][]`},{components:[{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`flatFee`,type:`uint256`},{internalType:`uint256`,name:`variableRate`,type:`uint256`}],internalType:`struct FeeStructure`,name:`feeStructure`,type:`tuple`},{internalType:`uint256`,name:`timeStamp`,type:`uint256`},{components:[{internalType:`uint256`,name:`extraRandomization`,type:`uint256`},{internalType:`uint256`,name:`stealthAddress`,type:`uint256`},{internalType:`uint256`,name:`H0`,type:`uint256`},{internalType:`uint256`,name:`H1`,type:`uint256`}],internalType:`struct StealthAddressStructure`,name:`stealthAddressStructure`,type:`tuple`},{internalType:`uint256`,name:`rootHashAccessToken`,type:`uint256`},{internalType:`uint256`,name:`calldataHash`,type:`uint256`},{internalType:`uint16`,name:`publicSignalCount`,type:`uint16`},{internalType:`address`,name:`relay`,type:`address`},{internalType:`address`,name:`externalAddress`,type:`address`},{internalType:`uint256`,name:`externalActionId`,type:`uint256`},{internalType:`bytes`,name:`externalActionMetadata`,type:`bytes`},{components:[{internalType:`uint256`,name:`hinkalLogicAction`,type:`uint256`},{internalType:`uint256`,name:`inHinkalAddress`,type:`uint256`},{internalType:`int256[]`,name:`executeApprovalChanges`,type:`int256[]`},{internalType:`bool`,name:`doPreTxApproval`,type:`bool`},{components:[{internalType:`int256[]`,name:`approvalChanges`,type:`int256[]`},{internalType:`address[]`,name:`externalApprovalAddresses`,type:`address[]`},{internalType:`uint256[]`,name:`conversionInHinkalAddress`,type:`uint256[]`}],internalType:`struct UseApprovalUTXOData[]`,name:`useApprovalUtxoData`,type:`tuple[]`}],internalType:`struct HinkalLogicArgs`,name:`hinkalLogicArgs`,type:`tuple`},{components:[{internalType:`address`,name:`preHookContract`,type:`address`},{internalType:`address`,name:`hookContract`,type:`address`},{internalType:`bytes`,name:`preHookMetadata`,type:`bytes`},{internalType:`bytes`,name:`postHookMetadata`,type:`bytes`}],internalType:`struct HookData`,name:`hookData`,type:`tuple`},{components:[{internalType:`uint8`,name:`v`,type:`uint8`},{internalType:`bytes32`,name:`r`,type:`bytes32`},{internalType:`bytes32`,name:`s`,type:`bytes32`},{internalType:`uint256`,name:`accessKey`,type:`uint256`},{internalType:`uint256`,name:`nonce`,type:`uint256`},{internalType:`address`,name:`ethereumAddress`,type:`address`}],internalType:`struct SignatureData`,name:`signatureData`,type:`tuple`},{internalType:`address`,name:`originalSender`,type:`address`}],internalType:`struct CircomData`,name:`circomData`,type:`tuple`}],name:`transact`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{stateMutability:`payable`,type:`receive`}]};function Br(e,t){return Object.values(e).includes(t)}function Vr(e,t,n=!1){if(Br(e,t))return t;let r=`Value ${Tr(t)} is not a valid member of enum ${Tr(e)}.`;if(n)throw Error(r)}var Hr=c({browser:()=>ii,default:()=>ai,description:()=>Gr,devDependencies:()=>ni,engines:()=>ri,exports:()=>Jr,funding:()=>Qr,homepage:()=>Zr,keywords:()=>$r,license:()=>ti,main:()=>Kr,name:()=>Ur,readmeFilename:()=>ei,repository:()=>Xr,scripts:()=>Yr,types:()=>qr,version:()=>Wr}),Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi=o((()=>{Ur=`dotenv`,Wr=`16.6.1`,Gr=`Loads environment variables from .env file`,Kr=`lib/main.js`,qr=`lib/main.d.ts`,Jr={".":{types:`./lib/main.d.ts`,require:`./lib/main.js`,default:`./lib/main.js`},"./config":`./config.js`,"./config.js":`./config.js`,"./lib/env-options":`./lib/env-options.js`,"./lib/env-options.js":`./lib/env-options.js`,"./lib/cli-options":`./lib/cli-options.js`,"./lib/cli-options.js":`./lib/cli-options.js`,"./package.json":`./package.json`},Yr={"dts-check":`tsc --project tests/types/tsconfig.json`,lint:`standard`,pretest:`npm run lint && npm run dts-check`,test:`tap run --allow-empty-coverage --disable-coverage --timeout=60000`,"test:coverage":`tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov`,prerelease:`npm test`,release:`standard-version`},Xr={type:`git`,url:`git://github.com/motdotla/dotenv.git`},Zr=`https://github.com/motdotla/dotenv#readme`,Qr=`https://dotenvx.com`,$r=[`dotenv`,`env`,`.env`,`environment`,`variables`,`config`,`settings`],ei=`README.md`,ti=`BSD-2-Clause`,ni={"@types/node":`^18.11.3`,decache:`^4.6.2`,sinon:`^14.0.1`,standard:`^17.0.0`,"standard-version":`^9.5.0`,tap:`^19.2.0`,typescript:`^4.8.4`},ri={node:`>=12`},ii={fs:!1},ai={name:Ur,version:Wr,description:Gr,main:Kr,types:qr,exports:Jr,scripts:Yr,repository:Xr,homepage:Zr,funding:Qr,keywords:$r,readmeFilename:ei,license:ti,devDependencies:ni,engines:ri,browser:ii}})),si=s(((e,t)=>{var n=require(`fs`),r=require(`path`),i=require(`os`),a=require(`crypto`),o=(oi(),d(Hr).default).version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function c(e){let t={},n=e.toString();n=n.replace(/\r\n?/gm,`
121
+ `);let r;for(;(r=s.exec(n))!=null;){let e=r[1],n=r[2]||``;n=n.trim();let i=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/gm,`$2`),i===`"`&&(n=n.replace(/\\n/g,`
122
+ `),n=n.replace(/\\r/g,`\r`)),t[e]=n}return t}function l(e){e||={};let t=g(e);e.path=t;let n=C.configDotenv(e);if(!n.parsed){let e=Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw e.code=`MISSING_DATA`,e}let r=m(e).split(`,`),i=r.length,a;for(let e=0;e<i;e++)try{let t=h(n,r[e].trim());a=C.decrypt(t.ciphertext,t.key);break}catch(t){if(e+1>=i)throw t}return C.parse(a)}function u(e){console.log(`[dotenv@${o}][WARN] ${e}`)}function f(e){console.log(`[dotenv@${o}][DEBUG] ${e}`)}function p(e){console.log(`[dotenv@${o}] ${e}`)}function m(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:``}function h(e,t){let n;try{n=new URL(t)}catch(e){if(e.code===`ERR_INVALID_URL`){let e=Error(`INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development`);throw e.code=`INVALID_DOTENV_KEY`,e}throw e}let r=n.password;if(!r){let e=Error(`INVALID_DOTENV_KEY: Missing key part`);throw e.code=`INVALID_DOTENV_KEY`,e}let i=n.searchParams.get(`environment`);if(!i){let e=Error(`INVALID_DOTENV_KEY: Missing environment part`);throw e.code=`INVALID_DOTENV_KEY`,e}let a=`DOTENV_VAULT_${i.toUpperCase()}`,o=e.parsed[a];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${a} in your .env.vault file.`);throw e.code=`NOT_FOUND_DOTENV_ENVIRONMENT`,e}return{ciphertext:o,key:r}}function g(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)n.existsSync(r)&&(t=r.endsWith(`.vault`)?r:`${r}.vault`);else t=e.path.endsWith(`.vault`)?e.path:`${e.path}.vault`;else t=r.resolve(process.cwd(),`.env.vault`);return n.existsSync(t)?t:null}function _(e){return e[0]===`~`?r.join(i.homedir(),e.slice(1)):e}function v(e){let t=!!(e&&e.debug),n=e&&`quiet`in e?e.quiet:!0;(t||!n)&&p(`Loading env from encrypted .env.vault`);let r=C._parseVault(e),i=process.env;return e&&e.processEnv!=null&&(i=e.processEnv),C.populate(i,r,e),{parsed:r}}function y(e){let t=r.resolve(process.cwd(),`.env`),i=`utf8`,a=!!(e&&e.debug),o=e&&`quiet`in e?e.quiet:!0;e&&e.encoding?i=e.encoding:a&&f(`No encoding is specified. UTF-8 is used by default`);let s=[t];if(e&&e.path)if(!Array.isArray(e.path))s=[_(e.path)];else{s=[];for(let t of e.path)s.push(_(t))}let c,l={};for(let t of s)try{let r=C.parse(n.readFileSync(t,{encoding:i}));C.populate(l,r,e)}catch(e){a&&f(`Failed to load ${t} ${e.message}`),c=e}let u=process.env;if(e&&e.processEnv!=null&&(u=e.processEnv),C.populate(u,l,e),a||!o){let e=Object.keys(l).length,t=[];for(let e of s)try{let n=r.relative(process.cwd(),e);t.push(n)}catch(t){a&&f(`Failed to load ${e} ${t.message}`),c=t}p(`injecting env (${e}) from ${t.join(`,`)}`)}return c?{parsed:l,error:c}:{parsed:l}}function b(e){if(m(e).length===0)return C.configDotenv(e);let t=g(e);return t?C._configVault(e):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),C.configDotenv(e))}function x(e,t){let n=Buffer.from(t.slice(-64),`hex`),r=Buffer.from(e,`base64`),i=r.subarray(0,12),o=r.subarray(-16);r=r.subarray(12,-16);try{let e=a.createDecipheriv(`aes-256-gcm`,n,i);return e.setAuthTag(o),`${e.update(r)}${e.final()}`}catch(e){let t=e instanceof RangeError,n=e.message===`Invalid key length`,r=e.message===`Unsupported state or unable to authenticate data`;if(t||n){let e=Error(`INVALID_DOTENV_KEY: It must be 64 characters long (or more)`);throw e.code=`INVALID_DOTENV_KEY`,e}else if(r){let e=Error(`DECRYPTION_FAILED: Please check your DOTENV_KEY`);throw e.code=`DECRYPTION_FAILED`,e}else throw e}}function S(e,t,n={}){let r=!!(n&&n.debug),i=!!(n&&n.override);if(typeof t!=`object`){let e=Error(`OBJECT_REQUIRED: Please check the processEnv argument being passed to populate`);throw e.code=`OBJECT_REQUIRED`,e}for(let n of Object.keys(t))Object.prototype.hasOwnProperty.call(e,n)?(i===!0&&(e[n]=t[n]),r&&f(i===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):e[n]=t[n]}var C={configDotenv:y,_configVault:v,_parseVault:l,config:b,decrypt:x,parse:c,populate:S};t.exports.configDotenv=C.configDotenv,t.exports._configVault=C._configVault,t.exports._parseVault=C._parseVault,t.exports.config=C.config,t.exports.decrypt=C.decrypt,t.exports.parse=C.parse,t.exports.populate=C.populate,t.exports=C})),Z=function(e){return e.DEVELOPMENT=`development`,e.PLAYGROUND=`playground`,e.PRODUCTION=`production`,e.STAGING=`staging`,e}({}),ci={[Z.DEVELOPMENT]:[`localhost`,`192.`,`127.`],[Z.PLAYGROUND]:[`playground`],[Z.STAGING]:[`working`,`staging`]},li=typeof process<`u`&&process?.release?.name===`node`,ui=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,di=typeof __webpack_require__<`u`;typeof window<`u`&&window?.location?.protocol;function fi(e,t){return t.some(t=>e.includes(t))}var pi=()=>(si().config({path:`DOTENV_OVERRIDE`in process.env?process.env.DOTENV_OVERRIDE:void 0}),process.env.DEPLOYMENT_MODE?.startsWith(`production`)?Z.PRODUCTION:Vr(Z,process.env.DEPLOYMENT_MODE)||Z.DEVELOPMENT),mi=(()=>{if(!li&&typeof window>`u`)return;if(li)return pi();if(window?.location?.protocol===`chrome-extension:`)return Vr(Z,WALLET_DEPLOYMENT_MODE)||Z.STAGING;let e=window?.location?.host;return e?fi(e,ci[Z.DEVELOPMENT])?Z.DEVELOPMENT:fi(e,ci[Z.PLAYGROUND])?Z.PLAYGROUND:fi(e,ci[Z.STAGING])?Z.STAGING:Z.PRODUCTION:Z.PRODUCTION})(),hi=mi===Z.DEVELOPMENT,gi=mi===Z.PLAYGROUND,_i=mi===Z.STAGING||hi||gi,vi=_i||li&&mi===Z.PRODUCTION,Q={polygon:137,arbMainnet:42161,ethMainnet:1,bnbMainnet:56,optimism:10,base:8453,localhost:31337,arcTestnet:5042002,solanaMainnet:501,solanaLocalnet:102,tronNile:3448148188,tronLocalnet:103,tronMainnet:728126428},yi=Q.ethMainnet,$=_i?`X4IiEZsSzGOrJq8tzq7Y3`:`XzUgeU8YiIIzkD7j2GWnTsFUck7wGgK9`,bi={[Q.ethMainnet]:{name:`Ethereum`,chainId:Q.ethMainnet,rpcUrl:`https://rpc.ankr.com/eth`,fetchRpcUrl:`https://eth-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://eth-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:jr,quoterV2Address:`0x61fFE014bA17989E743c5F6cB21bF9697530B21e`,uniswapV3FactoryAddress:`0x1F98431c8aD98523631AE4a59f267346ea31F984`,priority:1,maxPageSize:9e5},[Q.arbMainnet]:{name:`Arbitrum`,chainId:Q.arbMainnet,rpcUrl:`https://endpoints.omniatech.io/v1/arbitrum/one/public`,fetchRpcUrl:`https://arb-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://arb-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Ar,quoterV2Address:`0x61fFE014bA17989E743c5F6cB21bF9697530B21e`,uniswapV3FactoryAddress:`0x1F98431c8aD98523631AE4a59f267346ea31F984`,priority:2,maxPageSize:5e5},[Q.optimism]:{name:`Optimism`,chainId:Q.optimism,rpcUrl:`https://optimism-mainnet.infura.io/v3/c26b99456bb6464bb498926ff5162903`,fetchRpcUrl:`https://opt-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://opt-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Mr,quoterV2Address:`0x61fFE014bA17989E743c5F6cB21bF9697530B21e`,uniswapV3FactoryAddress:`0x1F98431c8aD98523631AE4a59f267346ea31F984`,priority:3,maxPageSize:9e5},[Q.polygon]:{name:`Polygon`,chainId:Q.polygon,rpcUrl:`https://polygon-rpc.com`,fetchRpcUrl:`https://polygon-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://polygon-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Nr,quoterV2Address:`0x61fFE014bA17989E743c5F6cB21bF9697530B21e`,uniswapV3FactoryAddress:`0x1F98431c8aD98523631AE4a59f267346ea31F984`,priority:4,maxPageSize:9e5},[Q.bnbMainnet]:{name:`BNB Chain`,chainId:Q.bnbMainnet,rpcUrl:`https://bsc-dataseed.binance.org`,fetchRpcUrl:`https://bnb-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://bnb-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:{},quoterV2Address:`0x78D78E420Da98ad378D7799bE8f4AF69033EB077`,uniswapV3FactoryAddress:`0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7`,priority:6},[Q.base]:{name:`Base`,chainId:Q.base,rpcUrl:`https://mainnet.base.org/`,fetchRpcUrl:`https://base-mainnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://base-mainnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Pr,quoterV2Address:`0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a`,uniswapV3FactoryAddress:`0x33128a8fC17869897dcE68Ed026d694621f6FDfD`,priority:7,maxPageSize:5e5},[Q.arcTestnet]:{name:`Arc Testnet`,chainId:Q.arcTestnet,rpcUrl:`https://arc-testnet.g.alchemy.com/v2/${$}`,fetchRpcUrl:`https://arc-testnet.g.alchemy.com/v2/${$}`,wsRpcUrl:`wss://arc-testnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Ir,priority:8,maxPageSize:9999},[Q.solanaMainnet]:{name:`Solana`,chainId:Q.solanaMainnet,rpcUrl:`https://api.mainnet-beta.solana.com`,fetchRpcUrl:`https://mainnet.helius-rpc.com/?api-key=54ad9ec9-dad6-41de-b961-e3e8ea7a7188`,supported:!0,contractData:Lr,priority:8},[Q.solanaLocalnet]:{name:`Solana Localnet`,chainId:Q.solanaLocalnet,rpcUrl:`http://127.0.0.1:8899`,fetchRpcUrl:`http://127.0.0.1:8899`,supported:!0,contractData:Lr,priority:9},[Q.tronNile]:{name:`Tron Nile`,chainId:Q.tronNile,rpcUrl:`https://tron-testnet.g.alchemy.com/v2/${$}`,fetchRpcUrl:`https://tron-testnet.g.alchemy.com/v2/${$}`,supported:!0,contractData:Rr,priority:9,maxPageSize:5e5},[Q.tronMainnet]:{name:`Tron`,chainId:Q.tronMainnet,rpcUrl:`https://tron-mainnet.g.alchemy.com/v2/${$}`,fetchRpcUrl:`https://tron-mainnet.g.alchemy.com/v2/${$}`,supported:!0,priority:10,contractData:zr,maxPageSize:5e5}},xi={name:`Localhost`,chainId:Q.localhost,rpcUrl:`http://127.0.0.1:8545`,fetchRpcUrl:`http://127.0.0.1:8545`,supported:!0,contractData:Fr,quoterV2Address:bi[yi].quoterV2Address,uniswapV3FactoryAddress:bi[yi].uniswapV3FactoryAddress,priority:7};hi&&(bi[Q.localhost]=xi),kr.Mainnet,Q.polygon,Q.arbMainnet,Q.ethMainnet,Q.bnbMainnet,Q.optimism,Q.base,Q.tronMainnet,kr.Testnet,_i?(Q.arcTestnet,Q.tronNile):Q.arcTestnet,kr.Local,Q.localhost;var Si=[Q.tronNile,Q.tronMainnet,Q.tronLocalnet],Ci=[Q.solanaMainnet,Q.solanaLocalnet],wi=e=>Ci.includes(e),Ti=e=>Si.includes(e),Ei=_i?Q.tronNile:Q.tronMainnet,Di=[Q.ethMainnet,Q.optimism,Q.base,Q.polygon,Q.arbMainnet,Q.arcTestnet,Q.solanaMainnet,Ei];Di.filter(e=>!Ti(e)),Di.filter(e=>!Ti(e)&&!wi(e)&&e!==Q.arcTestnet),Di.filter(e=>!wi(e)&&!Ti(e)),Or.Wallet,Or.Pay,Or.Bridge;var Oi=s(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,`defaultMaxListeners`,{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n<l;++n)r(u[n],this,t);return!0};function d(e,t,n,r){var i,o,s;if(l(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),s=o[t]),s===void 0)s=o[t]=n,++e._eventsCount;else if(typeof s==`function`?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=u(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function _(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function v(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function y(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}x(e,t,a,{once:!0}),t!==`error`&&b(e,i,{once:!0})})}function b(e,t,n){typeof e.on==`function`&&x(e,`error`,t,n)}function x(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}})),ki=class{isNode=!1;onmessage=null;onerror=null;_eventEmitter;get eventEmitter(){if(this._eventEmitter)return this._eventEmitter;if(this.isNode){let e=Oi();this._eventEmitter=new e}else this._eventEmitter=new EventTarget;return this._eventEmitter}constructor(){this.isNode=typeof process<`u`&&process.versions!=null&&process.versions.node!=null}terminate(){}isReactNative=typeof navigator<`u`&&navigator.product===`ReactNative`;postMessage(e){if(this.isReactNative){this.onmessage?.({data:e});return}this.isNode?this.eventEmitter.emit(`message`,e):postMessage(e)}postMessageToMainThread(e){if(this.isReactNative){this.onmessage?.({data:e});return}this.isNode?this.parentPort.postMessage(e):postMessage(e)}postErrorToMainThread(e){if(this.isReactNative){this.onerror?.({data:{error:e}});return}this.isNode?this.parentPort.postMessage({error:e}):postMessage(e)}get parentPort(){return require(`worker_threads`).parentPort}};Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return vi}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return wr}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ui}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return di}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return wi}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return ki}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Cr}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return c}});