@gurge/sdk 0.2.32
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.
- package/API/API.cjs +1 -0
- package/API/API.d.ts +127 -0
- package/API/API.mjs +129 -0
- package/API/accessCodeCalls.cjs +1 -0
- package/API/accessCodeCalls.d.ts +23 -0
- package/API/accessCodeCalls.mjs +13 -0
- package/API/admin-calls.cjs +1 -0
- package/API/admin-calls.d.ts +9 -0
- package/API/admin-calls.mjs +8 -0
- package/API/brotherhoodCalls.cjs +1 -0
- package/API/brotherhoodCalls.d.ts +82 -0
- package/API/brotherhoodCalls.mjs +17 -0
- package/API/callLifiAPI.cjs +1 -0
- package/API/callLifiAPI.d.ts +33 -0
- package/API/callLifiAPI.mjs +8 -0
- package/API/callMonitor.cjs +1 -0
- package/API/callMonitor.d.ts +9 -0
- package/API/callMonitor.mjs +8 -0
- package/API/callOdosAPI.cjs +1 -0
- package/API/callOdosAPI.d.ts +63 -0
- package/API/callOdosAPI.mjs +18 -0
- package/API/callOkxAPI.cjs +1 -0
- package/API/callOkxAPI.d.ts +10 -0
- package/API/callOkxAPI.mjs +10 -0
- package/API/callOneInchAPI.cjs +1 -0
- package/API/callOneInchAPI.d.ts +18 -0
- package/API/callOneInchAPI.mjs +13 -0
- package/API/callRelayer.cjs +1 -0
- package/API/callRelayer.d.ts +41 -0
- package/API/callRelayer.mjs +16 -0
- package/API/checkRisk.cjs +1 -0
- package/API/checkRisk.d.ts +1 -0
- package/API/checkRisk.mjs +8 -0
- package/API/dashboardAccountCalls.cjs +1 -0
- package/API/dashboardAccountCalls.d.ts +24 -0
- package/API/dashboardAccountCalls.mjs +10 -0
- package/API/dashboardAccountMemberCalls.cjs +1 -0
- package/API/dashboardAccountMemberCalls.d.ts +34 -0
- package/API/dashboardAccountMemberCalls.mjs +16 -0
- package/API/dashboardBalanceCalls.cjs +1 -0
- package/API/dashboardBalanceCalls.d.ts +12 -0
- package/API/dashboardBalanceCalls.mjs +13 -0
- package/API/dashboardContactCalls.cjs +1 -0
- package/API/dashboardContactCalls.d.ts +9 -0
- package/API/dashboardContactCalls.mjs +13 -0
- package/API/dashboardPayoutCalls.cjs +1 -0
- package/API/dashboardPayoutCalls.d.ts +14 -0
- package/API/dashboardPayoutCalls.mjs +13 -0
- package/API/dashboardTransactionCalls.cjs +1 -0
- package/API/dashboardTransactionCalls.d.ts +3 -0
- package/API/dashboardTransactionCalls.mjs +10 -0
- package/API/deposit-and-withdraw-status-calls.cjs +1 -0
- package/API/deposit-and-withdraw-status-calls.d.ts +21 -0
- package/API/deposit-and-withdraw-status-calls.mjs +13 -0
- package/API/enclaveRecipientInfoCalls.cjs +1 -0
- package/API/enclaveRecipientInfoCalls.d.ts +14 -0
- package/API/enclaveRecipientInfoCalls.mjs +7 -0
- package/API/enclaveSignatureCalls.cjs +1 -0
- package/API/enclaveSignatureCalls.d.ts +5 -0
- package/API/enclaveSignatureCalls.mjs +13 -0
- package/API/enclaveUtxoCalls.cjs +1 -0
- package/API/enclaveUtxoCalls.d.ts +46 -0
- package/API/enclaveUtxoCalls.mjs +24 -0
- package/API/fetchCommitmentsCache.cjs +1 -0
- package/API/fetchCommitmentsCache.d.ts +19 -0
- package/API/fetchCommitmentsCache.mjs +20 -0
- package/API/generate-trading-points.cjs +1 -0
- package/API/generate-trading-points.d.ts +27 -0
- package/API/generate-trading-points.mjs +23 -0
- package/API/get-token-data.cjs +1 -0
- package/API/get-token-data.d.ts +6 -0
- package/API/get-token-data.mjs +8 -0
- package/API/get-token-price-chart-data.cjs +1 -0
- package/API/get-token-price-chart-data.d.ts +16 -0
- package/API/get-token-price-chart-data.mjs +10 -0
- package/API/getAnyRecipientInfo.d.ts +1 -0
- package/API/getCoingeckoPrice.cjs +1 -0
- package/API/getCoingeckoPrice.d.ts +21 -0
- package/API/getCoingeckoPrice.mjs +17 -0
- package/API/getGasEstimates.cjs +1 -0
- package/API/getGasEstimates.d.ts +10 -0
- package/API/getGasEstimates.mjs +12 -0
- package/API/getServerURL.cjs +1 -0
- package/API/getServerURL.d.ts +7 -0
- package/API/getServerURL.mjs +21 -0
- package/API/getTokenPrice.cjs +1 -0
- package/API/getTokenPrice.d.ts +10 -0
- package/API/getTokenPrice.mjs +11 -0
- package/API/getWebsiteURL.cjs +1 -0
- package/API/getWebsiteURL.d.ts +5 -0
- package/API/getWebsiteURL.mjs +45 -0
- package/API/index.cjs +1 -0
- package/API/index.d.ts +24 -0
- package/API/index.mjs +24 -0
- package/API/kycCalls.cjs +1 -0
- package/API/kycCalls.d.ts +14 -0
- package/API/kycCalls.mjs +26 -0
- package/API/leaderboardCalls.cjs +1 -0
- package/API/leaderboardCalls.d.ts +14 -0
- package/API/leaderboardCalls.mjs +8 -0
- package/API/onrampCalls.cjs +1 -0
- package/API/onrampCalls.d.ts +20 -0
- package/API/onrampCalls.mjs +11 -0
- package/API/privacy-score-calls.cjs +1 -0
- package/API/privacy-score-calls.d.ts +17 -0
- package/API/privacy-score-calls.mjs +18 -0
- package/API/privateSendEmailNotificationsCalls.cjs +1 -0
- package/API/privateSendEmailNotificationsCalls.d.ts +8 -0
- package/API/privateSendEmailNotificationsCalls.mjs +8 -0
- package/API/privateSendNonceCalls.cjs +1 -0
- package/API/privateSendNonceCalls.d.ts +13 -0
- package/API/privateSendNonceCalls.mjs +15 -0
- package/API/privateSendRecipientInfoCalls.cjs +1 -0
- package/API/privateSendRecipientInfoCalls.d.ts +11 -0
- package/API/privateSendRecipientInfoCalls.mjs +8 -0
- package/API/proxyAccountsCalls.cjs +1 -0
- package/API/proxyAccountsCalls.d.ts +6 -0
- package/API/proxyAccountsCalls.mjs +23 -0
- package/API/referralsCalls.cjs +1 -0
- package/API/referralsCalls.d.ts +22 -0
- package/API/referralsCalls.mjs +11 -0
- package/API/relayCalls.cjs +1 -0
- package/API/relayCalls.d.ts +5 -0
- package/API/relayCalls.mjs +8 -0
- package/API/resolve-sns.cjs +1 -0
- package/API/resolve-sns.d.ts +1 -0
- package/API/resolve-sns.mjs +12 -0
- package/API/rewardsUserCalls.cjs +1 -0
- package/API/rewardsUserCalls.d.ts +60 -0
- package/API/rewardsUserCalls.mjs +16 -0
- package/API/scheduled-transactions-calls.cjs +1 -0
- package/API/scheduled-transactions-calls.d.ts +20 -0
- package/API/scheduled-transactions-calls.mjs +11 -0
- package/API/seedless-calls.cjs +1 -0
- package/API/seedless-calls.d.ts +53 -0
- package/API/seedless-calls.mjs +8 -0
- package/API/send-telegram-callback.cjs +1 -0
- package/API/send-telegram-callback.d.ts +7 -0
- package/API/send-telegram-callback.mjs +11 -0
- package/API/simulate-batch-tx.cjs +1 -0
- package/API/simulate-batch-tx.d.ts +3 -0
- package/API/simulate-batch-tx.mjs +11 -0
- package/API/simulate-transaction.cjs +1 -0
- package/API/simulate-transaction.d.ts +5 -0
- package/API/simulate-transaction.mjs +14 -0
- package/API/snapshot-event-calls.cjs +1 -0
- package/API/snapshot-event-calls.d.ts +7 -0
- package/API/snapshot-event-calls.mjs +12 -0
- package/API/temporaryWalletCalls.cjs +1 -0
- package/API/temporaryWalletCalls.d.ts +13 -0
- package/API/temporaryWalletCalls.mjs +16 -0
- package/API/tenderly.api.cjs +1 -0
- package/API/tenderly.api.d.ts +20 -0
- package/API/tenderly.api.mjs +37 -0
- package/API/token-calls.cjs +1 -0
- package/API/token-calls.d.ts +2 -0
- package/API/token-calls.mjs +12 -0
- package/API/tronSubsidyCalls.cjs +1 -0
- package/API/tronSubsidyCalls.d.ts +13 -0
- package/API/tronSubsidyCalls.mjs +8 -0
- package/API/weeklyAnalyticCalls.cjs +1 -0
- package/API/weeklyAnalyticCalls.d.ts +22 -0
- package/API/weeklyAnalyticCalls.mjs +11 -0
- package/README.md +385 -0
- package/_virtual/_rolldown/runtime.cjs +1 -0
- package/_virtual/_rolldown/runtime.mjs +7 -0
- package/constants/activity.constants.cjs +1 -0
- package/constants/activity.constants.d.ts +2 -0
- package/constants/activity.constants.mjs +14 -0
- package/constants/addresses.constants.cjs +1 -0
- package/constants/addresses.constants.d.ts +70 -0
- package/constants/addresses.constants.mjs +71 -0
- package/constants/assets.constants.cjs +1 -0
- package/constants/assets.constants.d.ts +13 -0
- package/constants/assets.constants.mjs +16 -0
- package/constants/auth.constants.cjs +1 -0
- package/constants/auth.constants.d.ts +2 -0
- package/constants/auth.constants.mjs +4 -0
- package/constants/backend.constants.cjs +1 -0
- package/constants/backend.constants.d.ts +12 -0
- package/constants/backend.constants.mjs +15 -0
- package/constants/balance.constants.cjs +1 -0
- package/constants/balance.constants.d.ts +1 -0
- package/constants/balance.constants.mjs +4 -0
- package/constants/bridging.constants.cjs +1 -0
- package/constants/bridging.constants.d.ts +11 -0
- package/constants/bridging.constants.mjs +12 -0
- package/constants/chains.constants.cjs +1 -0
- package/constants/chains.constants.d.ts +59 -0
- package/constants/chains.constants.mjs +264 -0
- package/constants/coingecko.constants.cjs +1 -0
- package/constants/coingecko.constants.d.ts +43 -0
- package/constants/coingecko.constants.mjs +51 -0
- package/constants/contracts.constants.cjs +1 -0
- package/constants/contracts.constants.d.ts +119 -0
- package/constants/contracts.constants.mjs +59 -0
- package/constants/conversion.constants.cjs +1 -0
- package/constants/conversion.constants.d.ts +1 -0
- package/constants/conversion.constants.mjs +4 -0
- package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +3491 -0
- package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +3562 -0
- package/constants/deploy-data/deploy-data-base.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-base.json.mjs +3491 -0
- package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +3491 -0
- package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-localhost.json.mjs +2285 -0
- package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-optimism.json.mjs +3491 -0
- package/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-optimismTest.json.mjs +3565 -0
- package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-polygon.json.mjs +3491 -0
- package/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +3561 -0
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-solana.json.mjs +7 -0
- package/constants/deploy-data/deploy-data-tempo.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tempo.json.mjs +3563 -0
- package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +3530 -0
- package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -0
- package/constants/deploy-data/deploy-data-tronNile.json.mjs +3530 -0
- package/constants/deploy-data/index.d.ts +14 -0
- package/constants/events.constants.cjs +1 -0
- package/constants/events.constants.d.ts +1 -0
- package/constants/events.constants.mjs +15 -0
- package/constants/fees.constants.cjs +1 -0
- package/constants/fees.constants.d.ts +9 -0
- package/constants/fees.constants.mjs +14 -0
- package/constants/function-signatures.constants.cjs +1 -0
- package/constants/function-signatures.constants.d.ts +4 -0
- package/constants/function-signatures.constants.mjs +4 -0
- package/constants/images.constants.cjs +1 -0
- package/constants/images.constants.d.ts +1 -0
- package/constants/images.constants.mjs +4 -0
- package/constants/index.cjs +1 -0
- package/constants/index.d.ts +37 -0
- package/constants/index.mjs +50 -0
- package/constants/kyc.constants.cjs +1 -0
- package/constants/kyc.constants.d.ts +29 -0
- package/constants/kyc.constants.mjs +126 -0
- package/constants/lifi.constants.cjs +1 -0
- package/constants/lifi.constants.d.ts +3 -0
- package/constants/lifi.constants.mjs +9 -0
- package/constants/link.constant.cjs +1 -0
- package/constants/link.constant.d.ts +1 -0
- package/constants/link.constant.mjs +4 -0
- package/constants/mediaUrls.constants.cjs +1 -0
- package/constants/mediaUrls.constants.d.ts +45 -0
- package/constants/mediaUrls.constants.mjs +48 -0
- package/constants/mystery-boxes.constants.d.ts +0 -0
- package/constants/oauthUrls.constants.cjs +1 -0
- package/constants/oauthUrls.constants.d.ts +4 -0
- package/constants/oauthUrls.constants.mjs +7 -0
- package/constants/okx.constants.cjs +1 -0
- package/constants/okx.constants.d.ts +2 -0
- package/constants/okx.constants.mjs +4 -0
- package/constants/pay.constants.cjs +1 -0
- package/constants/pay.constants.d.ts +1 -0
- package/constants/pay.constants.mjs +4 -0
- package/constants/permit2.constants.cjs +1 -0
- package/constants/permit2.constants.d.ts +7 -0
- package/constants/permit2.constants.mjs +10 -0
- package/constants/presale.constants.cjs +1 -0
- package/constants/presale.constants.d.ts +87 -0
- package/constants/presale.constants.mjs +449 -0
- package/constants/protocol.constants.cjs +1 -0
- package/constants/protocol.constants.d.ts +61 -0
- package/constants/protocol.constants.mjs +24 -0
- package/constants/reorg-depths.constants.cjs +1 -0
- package/constants/reorg-depths.constants.d.ts +17 -0
- package/constants/reorg-depths.constants.mjs +20 -0
- package/constants/rewards.constants.cjs +1 -0
- package/constants/rewards.constants.d.ts +17 -0
- package/constants/rewards.constants.mjs +8 -0
- package/constants/save-depths.cjs +1 -0
- package/constants/save-depths.d.ts +19 -0
- package/constants/save-depths.mjs +22 -0
- package/constants/schedule.constants.cjs +1 -0
- package/constants/schedule.constants.d.ts +2 -0
- package/constants/schedule.constants.mjs +10 -0
- package/constants/server.constants.cjs +1 -0
- package/constants/server.constants.d.ts +138 -0
- package/constants/server.constants.mjs +131 -0
- package/constants/tasks.constants.cjs +1 -0
- package/constants/tasks.constants.d.ts +9 -0
- package/constants/tasks.constants.mjs +267 -0
- package/constants/token-data/ERC20Registry.cjs +1 -0
- package/constants/token-data/ERC20Registry.d.ts +3 -0
- package/constants/token-data/ERC20Registry.mjs +82 -0
- package/constants/token-data/arbMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/arbMainnetRegistry.json.mjs +1841 -0
- package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -0
- package/constants/token-data/arbMainnetRegistryFixed.json.mjs +1841 -0
- package/constants/token-data/arcTestnetRegistry.json.cjs +1 -0
- package/constants/token-data/arcTestnetRegistry.json.mjs +435 -0
- package/constants/token-data/baseRegistry.json.cjs +1 -0
- package/constants/token-data/baseRegistry.json.mjs +1142 -0
- package/constants/token-data/baseRegistryFixed.json.cjs +1 -0
- package/constants/token-data/baseRegistryFixed.json.mjs +1142 -0
- package/constants/token-data/ethMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/ethMainnetRegistry.json.mjs +4274 -0
- package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -0
- package/constants/token-data/ethMainnetRegistryFixed.json.mjs +4274 -0
- package/constants/token-data/index.cjs +1 -0
- package/constants/token-data/index.d.ts +1149 -0
- package/constants/token-data/index.mjs +19 -0
- package/constants/token-data/localhostRegistry.json.cjs +1 -0
- package/constants/token-data/localhostRegistry.json.mjs +2758 -0
- package/constants/token-data/optimismRegistry.json.cjs +1 -0
- package/constants/token-data/optimismRegistry.json.mjs +709 -0
- package/constants/token-data/optimismRegistryFixed.json.cjs +1 -0
- package/constants/token-data/optimismRegistryFixed.json.mjs +709 -0
- package/constants/token-data/polygonRegistry.json.cjs +1 -0
- package/constants/token-data/polygonRegistry.json.mjs +2317 -0
- package/constants/token-data/polygonRegistryFixed.json.cjs +1 -0
- package/constants/token-data/polygonRegistryFixed.json.mjs +2317 -0
- package/constants/token-data/sepoliaTestnetRegistry.json.cjs +1 -0
- package/constants/token-data/sepoliaTestnetRegistry.json.mjs +21 -0
- package/constants/token-data/solanaLocalnetRegistry.json.cjs +1 -0
- package/constants/token-data/solanaLocalnetRegistry.json.mjs +17 -0
- package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/solanaMainnetRegistry.json.mjs +625 -0
- package/constants/token-data/tempoRegistry.json.cjs +1 -0
- package/constants/token-data/tempoRegistry.json.mjs +37 -0
- package/constants/token-data/tronMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/tronMainnetRegistry.json.mjs +17 -0
- package/constants/token-data/tronNileRegistry.json.cjs +1 -0
- package/constants/token-data/tronNileRegistry.json.mjs +17 -0
- package/constants/token.limits.constants.cjs +1 -0
- package/constants/token.limits.constants.d.ts +5 -0
- package/constants/token.limits.constants.mjs +31 -0
- package/constants/tokens.constants.cjs +1 -0
- package/constants/tokens.constants.d.ts +4 -0
- package/constants/tokens.constants.mjs +31 -0
- package/constants/tx-confirmation.constants.cjs +1 -0
- package/constants/tx-confirmation.constants.d.ts +4 -0
- package/constants/tx-confirmation.constants.mjs +4 -0
- package/constants/vite.constants.cjs +1 -0
- package/constants/vite.constants.d.ts +15 -0
- package/constants/vite.constants.mjs +26 -0
- package/constants/wallet.constants.cjs +1 -0
- package/constants/wallet.constants.d.ts +1 -0
- package/constants/wallet.constants.mjs +4 -0
- package/crypto/babyJub.cjs +1 -0
- package/crypto/babyJub.d.ts +16 -0
- package/crypto/babyJub.mjs +12 -0
- package/crypto/ecdh-dual-path.cjs +1 -0
- package/crypto/ecdh-dual-path.d.ts +13 -0
- package/crypto/ecdh-dual-path.mjs +39 -0
- package/crypto/ecdh-sealed-keys.cjs +1 -0
- package/crypto/ecdh-sealed-keys.d.ts +22 -0
- package/crypto/ecdh-sealed-keys.mjs +33 -0
- package/crypto/ecdh.cjs +1 -0
- package/crypto/ecdh.d.ts +2 -0
- package/crypto/ecdh.mjs +9 -0
- package/crypto/eddsa.cjs +1 -0
- package/crypto/eddsa.d.ts +8 -0
- package/crypto/eddsa.mjs +12 -0
- package/crypto/index.cjs +1 -0
- package/crypto/index.d.ts +7 -0
- package/crypto/index.mjs +7 -0
- package/crypto/poseidon.cjs +1 -0
- package/crypto/poseidon.d.ts +15 -0
- package/crypto/poseidon.mjs +22 -0
- package/crypto/preProcessing.cjs +1 -0
- package/crypto/preProcessing.d.ts +1 -0
- package/crypto/preProcessing.mjs +17 -0
- package/data-structures/AccountActions/AccountActions.cjs +1 -0
- package/data-structures/AccountActions/AccountActions.d.ts +17 -0
- package/data-structures/AccountActions/AccountActions.mjs +65 -0
- package/data-structures/AccountActions/index.cjs +1 -0
- package/data-structures/AccountActions/index.d.ts +1 -0
- package/data-structures/AccountActions/index.mjs +1 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.d.ts +18 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +199 -0
- package/data-structures/ApprovalDBs/index.cjs +1 -0
- package/data-structures/ApprovalDBs/index.d.ts +1 -0
- package/data-structures/ApprovalDBs/index.mjs +1 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.cjs +1 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +14 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.mjs +41 -0
- package/data-structures/Hinkal/Hinkal.cjs +1 -0
- package/data-structures/Hinkal/Hinkal.d.ts +110 -0
- package/data-structures/Hinkal/Hinkal.mjs +421 -0
- package/data-structures/Hinkal/IHinkal.d.ts +98 -0
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -0
- package/data-structures/Hinkal/handleAutoDepositBack.d.ts +3 -0
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +93 -0
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -0
- package/data-structures/Hinkal/hinkalActionReceive.d.ts +7 -0
- package/data-structures/Hinkal/hinkalActionReceive.mjs +21 -0
- package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -0
- package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +5 -0
- package/data-structures/Hinkal/hinkalClaimUtxo.mjs +56 -0
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalDeposit.d.ts +6 -0
- package/data-structures/Hinkal/hinkalDeposit.mjs +121 -0
- package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +4 -0
- package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +123 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +6 -0
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +78 -0
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +8 -0
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +54 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.cjs +1 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.d.ts +2 -0
- package/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +9 -0
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -0
- package/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +28 -0
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +22 -0
- package/data-structures/Hinkal/hinkalMultiSend.cjs +1 -0
- package/data-structures/Hinkal/hinkalMultiSend.d.ts +3 -0
- package/data-structures/Hinkal/hinkalMultiSend.mjs +12 -0
- package/data-structures/Hinkal/hinkalPalEvmDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalEvmDeposit.mjs +19 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.mjs +18 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.cjs +1 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +9 -0
- package/data-structures/Hinkal/hinkalPalTronDepositPrepare.mjs +17 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +6 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +53 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +8 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +123 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +7 -0
- package/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +51 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +6 -0
- package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +128 -0
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalProxySwap.d.ts +7 -0
- package/data-structures/Hinkal/hinkalProxySwap.mjs +24 -0
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -0
- package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +6 -0
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +28 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +4 -0
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +5 -0
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +93 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +8 -0
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +102 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +24 -0
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +160 -0
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +5 -0
- package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +16 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +6 -0
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +39 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +6 -0
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +72 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +6 -0
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +83 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +4 -0
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +93 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +31 -0
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +88 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +4 -0
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +69 -0
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -0
- package/data-structures/Hinkal/hinkalSwap.d.ts +7 -0
- package/data-structures/Hinkal/hinkalSwap.mjs +43 -0
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -0
- package/data-structures/Hinkal/hinkalTransfer.d.ts +4 -0
- package/data-structures/Hinkal/hinkalTransfer.mjs +50 -0
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -0
- package/data-structures/Hinkal/hinkalWithdraw.d.ts +7 -0
- package/data-structures/Hinkal/hinkalWithdraw.mjs +55 -0
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -0
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +3 -0
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +123 -0
- package/data-structures/Hinkal/index.cjs +1 -0
- package/data-structures/Hinkal/index.d.ts +23 -0
- package/data-structures/Hinkal/index.mjs +22 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +22 -0
- package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +34 -0
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -0
- package/data-structures/Hinkal/resetMerkleTrees.d.ts +2 -0
- package/data-structures/Hinkal/resetMerkleTrees.mjs +56 -0
- package/data-structures/IndexedDB/activity-db.cjs +1 -0
- package/data-structures/IndexedDB/activity-db.d.ts +14 -0
- package/data-structures/IndexedDB/activity-db.mjs +110 -0
- package/data-structures/IndexedDB/balances-db.cjs +1 -0
- package/data-structures/IndexedDB/balances-db.d.ts +13 -0
- package/data-structures/IndexedDB/balances-db.mjs +48 -0
- package/data-structures/IndexedDB/contact-db.cjs +1 -0
- package/data-structures/IndexedDB/contact-db.d.ts +12 -0
- package/data-structures/IndexedDB/contact-db.mjs +60 -0
- package/data-structures/IndexedDB/index.cjs +1 -0
- package/data-structures/IndexedDB/index.d.ts +7 -0
- package/data-structures/IndexedDB/index.mjs +7 -0
- package/data-structures/IndexedDB/pay-activity-db.cjs +1 -0
- package/data-structures/IndexedDB/pay-activity-db.d.ts +9 -0
- package/data-structures/IndexedDB/pay-activity-db.mjs +22 -0
- package/data-structures/IndexedDB/prices-db.cjs +1 -0
- package/data-structures/IndexedDB/prices-db.d.ts +9 -0
- package/data-structures/IndexedDB/prices-db.mjs +54 -0
- package/data-structures/IndexedDB/private-balances-db.cjs +1 -0
- package/data-structures/IndexedDB/private-balances-db.d.ts +9 -0
- package/data-structures/IndexedDB/private-balances-db.mjs +23 -0
- package/data-structures/IndexedDB/signatures-db.cjs +1 -0
- package/data-structures/IndexedDB/signatures-db.d.ts +10 -0
- package/data-structures/IndexedDB/signatures-db.mjs +41 -0
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -0
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +20 -0
- package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +73 -0
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +19 -0
- package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +171 -0
- package/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/ArcPublicTokensDB.d.ts +11 -0
- package/data-structures/TokenDBs/ArcPublicTokensDB.mjs +94 -0
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +19 -0
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +144 -0
- package/data-structures/TokenDBs/IPublicTokensDB.d.ts +6 -0
- package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/PrivateTokensDB.d.ts +11 -0
- package/data-structures/TokenDBs/PrivateTokensDB.mjs +50 -0
- package/data-structures/TokenDBs/PublicTokensDB.cjs +1 -0
- package/data-structures/TokenDBs/PublicTokensDB.d.ts +9 -0
- package/data-structures/TokenDBs/PublicTokensDB.mjs +28 -0
- package/data-structures/TokenDBs/index.cjs +1 -0
- package/data-structures/TokenDBs/index.d.ts +4 -0
- package/data-structures/TokenDBs/index.mjs +4 -0
- package/data-structures/TokenDBs/token-visibility-db.cjs +1 -0
- package/data-structures/TokenDBs/token-visibility-db.d.ts +17 -0
- package/data-structures/TokenDBs/token-visibility-db.mjs +78 -0
- package/data-structures/ValueCache/ValueCache.cjs +1 -0
- package/data-structures/ValueCache/ValueCache.d.ts +10 -0
- package/data-structures/ValueCache/ValueCache.mjs +24 -0
- package/data-structures/ValueCache/index.d.ts +1 -0
- package/data-structures/WalletManager/WalletManager.cjs +1 -0
- package/data-structures/WalletManager/WalletManager.d.ts +51 -0
- package/data-structures/WalletManager/WalletManager.mjs +99 -0
- package/data-structures/WalletManager/index.cjs +1 -0
- package/data-structures/WalletManager/index.d.ts +1 -0
- package/data-structures/WalletManager/index.mjs +1 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.cjs +1 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.d.ts +8 -0
- package/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +26 -0
- package/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -0
- package/data-structures/cacheDevices/BaseCacheDevice.d.ts +11 -0
- package/data-structures/cacheDevices/BaseCacheDevice.mjs +21 -0
- package/data-structures/cacheDevices/FileCacheDevice.cjs +1 -0
- package/data-structures/cacheDevices/FileCacheDevice.d.ts +10 -0
- package/data-structures/cacheDevices/FileCacheDevice.mjs +40 -0
- package/data-structures/cacheDevices/LocalStorageCacheDevice.cjs +1 -0
- package/data-structures/cacheDevices/LocalStorageCacheDevice.d.ts +8 -0
- package/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +21 -0
- package/data-structures/cacheDevices/index.cjs +1 -0
- package/data-structures/cacheDevices/index.d.ts +2 -0
- package/data-structures/cacheDevices/index.mjs +2 -0
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -0
- package/data-structures/crypto-keys/decodeUTXO.d.ts +28 -0
- package/data-structures/crypto-keys/decodeUTXO.mjs +82 -0
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -0
- package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +18 -0
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +40 -0
- package/data-structures/crypto-keys/index.cjs +1 -0
- package/data-structures/crypto-keys/index.d.ts +4 -0
- package/data-structures/crypto-keys/index.mjs +4 -0
- package/data-structures/crypto-keys/keyUtils.cjs +1 -0
- package/data-structures/crypto-keys/keyUtils.d.ts +2 -0
- package/data-structures/crypto-keys/keyUtils.mjs +8 -0
- package/data-structures/crypto-keys/keys.cjs +1 -0
- package/data-structures/crypto-keys/keys.d.ts +113 -0
- package/data-structures/crypto-keys/keys.mjs +157 -0
- package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -0
- package/data-structures/custom-token-registry/CustomTokenRegistry.d.ts +12 -0
- package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +25 -0
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +34 -0
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +93 -0
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -0
- package/data-structures/event-service/evm/AbstractEventService.d.ts +14 -0
- package/data-structures/event-service/evm/AbstractEventService.mjs +34 -0
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -0
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +22 -0
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +43 -0
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -0
- package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +22 -0
- package/data-structures/event-service/evm/AbstractSnapshotService.mjs +33 -0
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +37 -0
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +104 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +21 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/ClientEventHelper.d.ts +10 -0
- package/data-structures/event-service/helpers/ClientEventHelper.mjs +28 -0
- package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/PollingEventHelper.d.ts +7 -0
- package/data-structures/event-service/helpers/PollingEventHelper.mjs +18 -0
- package/data-structures/event-service/index.cjs +1 -0
- package/data-structures/event-service/index.d.ts +14 -0
- package/data-structures/event-service/index.mjs +14 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +34 -0
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +98 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +17 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +39 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +22 -0
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +43 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +21 -0
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +30 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +22 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +42 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +178 -0
- package/data-structures/http/BasicHttpClient.cjs +1 -0
- package/data-structures/http/BasicHttpClient.d.ts +11 -0
- package/data-structures/http/BasicHttpClient.mjs +25 -0
- package/data-structures/http/HttpClient.cjs +1 -0
- package/data-structures/http/HttpClient.d.ts +10 -0
- package/data-structures/http/HttpClient.mjs +14 -0
- package/data-structures/http/index.cjs +1 -0
- package/data-structures/http/index.d.ts +2 -0
- package/data-structures/http/index.mjs +2 -0
- package/data-structures/index.cjs +1 -0
- package/data-structures/index.d.ts +21 -0
- package/data-structures/index.mjs +87 -0
- package/data-structures/merkle-tree/MerkleTree.cjs +1 -0
- package/data-structures/merkle-tree/MerkleTree.d.ts +82 -0
- package/data-structures/merkle-tree/MerkleTree.mjs +116 -0
- package/data-structures/merkle-tree/MerkleTreeIncompleteError.cjs +1 -0
- package/data-structures/merkle-tree/MerkleTreeIncompleteError.d.ts +3 -0
- package/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +8 -0
- package/data-structures/merkle-tree/index.cjs +1 -0
- package/data-structures/merkle-tree/index.d.ts +2 -0
- package/data-structures/merkle-tree/index.mjs +2 -0
- package/data-structures/presale/PresaleContractWrapper.cjs +1 -0
- package/data-structures/presale/PresaleContractWrapper.d.ts +23 -0
- package/data-structures/presale/PresaleContractWrapper.mjs +57 -0
- package/data-structures/presale/index.cjs +1 -0
- package/data-structures/presale/index.d.ts +1 -0
- package/data-structures/presale/index.mjs +1 -0
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +40 -0
- package/data-structures/snapshot/SnapshotFetcherService.cjs +1 -0
- package/data-structures/snapshot/SnapshotFetcherService.d.ts +14 -0
- package/data-structures/snapshot/SnapshotFetcherService.mjs +34 -0
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +23 -0
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -0
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +21 -0
- package/data-structures/snapshot/index.cjs +1 -0
- package/data-structures/snapshot/index.d.ts +5 -0
- package/data-structures/snapshot/index.mjs +5 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +23 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.d.ts +8 -0
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +21 -0
- package/data-structures/token-price-fetcher/TokenChecker.cjs +1 -0
- package/data-structures/token-price-fetcher/TokenChecker.d.ts +9 -0
- package/data-structures/token-price-fetcher/TokenChecker.mjs +16 -0
- package/data-structures/token-price-fetcher/index.cjs +1 -0
- package/data-structures/token-price-fetcher/index.d.ts +1 -0
- package/data-structures/token-price-fetcher/index.mjs +1 -0
- package/data-structures/transactions-manager/history/history.types.cjs +1 -0
- package/data-structures/transactions-manager/history/history.types.d.ts +16 -0
- package/data-structures/transactions-manager/history/history.types.mjs +6 -0
- package/data-structures/transactions-manager/index.d.ts +1 -0
- package/data-structures/utxo/Utxo.cjs +1 -0
- package/data-structures/utxo/Utxo.d.ts +69 -0
- package/data-structures/utxo/Utxo.mjs +113 -0
- package/error-handling/customErrors/ErrorWithAmount.cjs +1 -0
- package/error-handling/customErrors/ErrorWithAmount.d.ts +4 -0
- package/error-handling/customErrors/ErrorWithAmount.mjs +9 -0
- package/error-handling/customErrors/ErrorWithIndex.cjs +1 -0
- package/error-handling/customErrors/ErrorWithIndex.d.ts +4 -0
- package/error-handling/customErrors/ErrorWithIndex.mjs +9 -0
- package/error-handling/customErrors/ErrorWithTx.cjs +1 -0
- package/error-handling/customErrors/ErrorWithTx.d.ts +4 -0
- package/error-handling/customErrors/ErrorWithTx.mjs +9 -0
- package/error-handling/customErrors/FeeOverTransactionValueError.cjs +1 -0
- package/error-handling/customErrors/FeeOverTransactionValueError.d.ts +9 -0
- package/error-handling/customErrors/FeeOverTransactionValueError.mjs +9 -0
- package/error-handling/customErrors/HttpError.cjs +1 -0
- package/error-handling/customErrors/HttpError.d.ts +4 -0
- package/error-handling/customErrors/HttpError.mjs +8 -0
- package/error-handling/customErrors/SimulationFailureError.cjs +1 -0
- package/error-handling/customErrors/SimulationFailureError.d.ts +10 -0
- package/error-handling/customErrors/SimulationFailureError.mjs +9 -0
- package/error-handling/customErrors/customErrors.helpers.cjs +1 -0
- package/error-handling/customErrors/customErrors.helpers.d.ts +5 -0
- package/error-handling/customErrors/customErrors.helpers.mjs +16 -0
- package/error-handling/customErrors/index.cjs +1 -0
- package/error-handling/customErrors/index.d.ts +7 -0
- package/error-handling/customErrors/index.mjs +7 -0
- package/error-handling/error-codes.constants.cjs +2 -0
- package/error-handling/error-codes.constants.d.ts +248 -0
- package/error-handling/error-codes.constants.mjs +243 -0
- package/error-handling/get-error.message.cjs +1 -0
- package/error-handling/get-error.message.d.ts +5 -0
- package/error-handling/get-error.message.mjs +74 -0
- package/error-handling/index.cjs +1 -0
- package/error-handling/index.d.ts +6 -0
- package/error-handling/index.mjs +13 -0
- package/error-handling/isInsufficientFundsError.cjs +1 -0
- package/error-handling/isInsufficientFundsError.d.ts +1 -0
- package/error-handling/isInsufficientFundsError.mjs +16 -0
- package/error-handling/logError.cjs +1 -0
- package/error-handling/logError.d.ts +1 -0
- package/error-handling/logError.mjs +7 -0
- package/error-handling/logger.cjs +1 -0
- package/error-handling/logger.d.ts +5 -0
- package/error-handling/logger.mjs +19 -0
- package/error-handling/retrySolanaError.cjs +1 -0
- package/error-handling/retrySolanaError.d.ts +1 -0
- package/error-handling/retrySolanaError.mjs +4 -0
- package/error-handling/types.cjs +1 -0
- package/error-handling/types.d.ts +10 -0
- package/error-handling/types.mjs +6 -0
- package/externalABIs/BUSD.cjs +1 -0
- package/externalABIs/BUSD.d.ts +38 -0
- package/externalABIs/BUSD.mjs +811 -0
- package/externalABIs/BabPassport.json.cjs +1 -0
- package/externalABIs/BabPassport.json.mjs +20 -0
- package/externalABIs/DAI.cjs +1 -0
- package/externalABIs/DAI.d.ts +45 -0
- package/externalABIs/DAI.mjs +505 -0
- package/externalABIs/ERC1155.json.cjs +1 -0
- package/externalABIs/ERC1155.json.mjs +287 -0
- package/externalABIs/ERC20.json.cjs +1 -0
- package/externalABIs/ERC20.json.mjs +257 -0
- package/externalABIs/ERC721.json.cjs +1 -0
- package/externalABIs/ERC721.json.mjs +299 -0
- package/externalABIs/GalxePassport.json.cjs +1 -0
- package/externalABIs/GalxePassport.json.mjs +37 -0
- package/externalABIs/IQuoterV2.json.cjs +1 -0
- package/externalABIs/IQuoterV2.json.mjs +203 -0
- package/externalABIs/ISwapRouter.json.cjs +1 -0
- package/externalABIs/ISwapRouter.json.mjs +537 -0
- package/externalABIs/IUniswapV3Factory.json.cjs +1 -0
- package/externalABIs/IUniswapV3Factory.json.mjs +188 -0
- package/externalABIs/IUniswapV3Pool.json.cjs +1 -0
- package/externalABIs/IUniswapV3Pool.json.mjs +938 -0
- package/externalABIs/NodeInterfaceABI.json.cjs +1 -0
- package/externalABIs/NodeInterfaceABI.json.mjs +264 -0
- package/externalABIs/OptimismGasPriceOracle.json.cjs +1 -0
- package/externalABIs/OptimismGasPriceOracle.json.mjs +174 -0
- package/externalABIs/SanctionsList.cjs +1 -0
- package/externalABIs/SanctionsList.d.ts +35 -0
- package/externalABIs/SanctionsList.mjs +162 -0
- package/externalABIs/USDC.cjs +1 -0
- package/externalABIs/USDC.d.ts +28 -0
- package/externalABIs/USDC.mjs +1082 -0
- package/externalABIs/USDR.cjs +1 -0
- package/externalABIs/USDR.d.ts +28 -0
- package/externalABIs/USDR.mjs +695 -0
- package/externalABIs/USDR3CRV.cjs +1 -0
- package/externalABIs/USDR3CRV.d.ts +49 -0
- package/externalABIs/USDR3CRV.mjs +1002 -0
- package/externalABIs/USDT.cjs +1 -0
- package/externalABIs/USDT.d.ts +41 -0
- package/externalABIs/USDT.mjs +583 -0
- package/externalABIs/UniswapV2PoolAbi.json.cjs +1 -0
- package/externalABIs/UniswapV2PoolAbi.json.mjs +78 -0
- package/externalABIs/WETH.cjs +1 -0
- package/externalABIs/WETH.d.ts +38 -0
- package/externalABIs/WETH.mjs +245 -0
- package/externalABIs/amToken.cjs +1 -0
- package/externalABIs/amToken.d.ts +28 -0
- package/externalABIs/amToken.mjs +744 -0
- package/externalABIs/index.cjs +1 -0
- package/externalABIs/index.d.ts +254 -0
- package/externalABIs/index.mjs +23 -0
- package/externalABIs/swapAbi.cjs +1 -0
- package/externalABIs/swapAbi.d.ts +77 -0
- package/externalABIs/swapAbi.mjs +249 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +9 -0
- package/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +24 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs +1 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +3 -0
- package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +21 -0
- package/functions/auto-deposit-back-helpers/index.cjs +1 -0
- package/functions/auto-deposit-back-helpers/index.d.ts +4 -0
- package/functions/auto-deposit-back-helpers/index.mjs +4 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.d.ts +13 -0
- package/functions/auto-deposit-back-helpers/select-gas-token.mjs +34 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.cjs +1 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.d.ts +3 -0
- package/functions/auto-deposit-back-helpers/update-hinkal.mjs +22 -0
- package/functions/connectors.types.d.ts +22 -0
- package/functions/index.cjs +1 -0
- package/functions/index.d.ts +14 -0
- package/functions/index.mjs +131 -0
- package/functions/kyc/aiPriseHelper.d.ts +0 -0
- package/functions/kyc/checkTokenLimitsUSD.cjs +1 -0
- package/functions/kyc/checkTokenLimitsUSD.d.ts +1 -0
- package/functions/kyc/checkTokenLimitsUSD.mjs +29 -0
- package/functions/kyc/index.cjs +1 -0
- package/functions/kyc/index.d.ts +3 -0
- package/functions/kyc/index.mjs +3 -0
- package/functions/kyc/openDefaultPassportWindow.cjs +1 -0
- package/functions/kyc/openDefaultPassportWindow.d.ts +1 -0
- package/functions/kyc/openDefaultPassportWindow.mjs +7 -0
- package/functions/kyc/passportHelper.cjs +1 -0
- package/functions/kyc/passportHelper.d.ts +3 -0
- package/functions/kyc/passportHelper.mjs +9 -0
- package/functions/kyc/zkMeHelper.cjs +1 -0
- package/functions/kyc/zkMeHelper.d.ts +4 -0
- package/functions/kyc/zkMeHelper.mjs +42 -0
- package/functions/pre-transaction/addressTableLookup.cjs +1 -0
- package/functions/pre-transaction/addressTableLookup.d.ts +4 -0
- package/functions/pre-transaction/addressTableLookup.mjs +36 -0
- package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
- package/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
- package/functions/pre-transaction/buildCommitmentValidationData.mjs +58 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
- package/functions/pre-transaction/calculateSolanaNullifierCount.mjs +23 -0
- package/functions/pre-transaction/constructAdminData.cjs +1 -0
- package/functions/pre-transaction/constructAdminData.d.ts +3 -0
- package/functions/pre-transaction/constructAdminData.mjs +26 -0
- package/functions/pre-transaction/convert-okx-instructions.cjs +1 -0
- package/functions/pre-transaction/convert-okx-instructions.d.ts +11 -0
- package/functions/pre-transaction/convert-okx-instructions.mjs +34 -0
- package/functions/pre-transaction/ensureAmountChanges.cjs +1 -0
- package/functions/pre-transaction/ensureAmountChanges.d.ts +2 -0
- package/functions/pre-transaction/ensureAmountChanges.mjs +10 -0
- package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -0
- package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -0
- package/functions/pre-transaction/getExternalSwapAddress.mjs +27 -0
- package/functions/pre-transaction/getFeeStructure.cjs +1 -0
- package/functions/pre-transaction/getFeeStructure.d.ts +5 -0
- package/functions/pre-transaction/getFeeStructure.mjs +20 -0
- package/functions/pre-transaction/getFlatFees.cjs +1 -0
- package/functions/pre-transaction/getFlatFees.d.ts +11 -0
- package/functions/pre-transaction/getFlatFees.mjs +52 -0
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -0
- package/functions/pre-transaction/getSolanaCalldataHash.d.ts +4 -0
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +38 -0
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -0
- package/functions/pre-transaction/getVolatileTransferAmount.d.ts +9 -0
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +32 -0
- package/functions/pre-transaction/index.cjs +1 -0
- package/functions/pre-transaction/index.d.ts +20 -0
- package/functions/pre-transaction/index.mjs +20 -0
- package/functions/pre-transaction/interaction-to-action.cjs +1 -0
- package/functions/pre-transaction/interaction-to-action.d.ts +2 -0
- package/functions/pre-transaction/interaction-to-action.mjs +11 -0
- package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -0
- package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +3 -0
- package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +16 -0
- package/functions/pre-transaction/merge-with-fee-structure.cjs +1 -0
- package/functions/pre-transaction/merge-with-fee-structure.d.ts +2 -0
- package/functions/pre-transaction/merge-with-fee-structure.mjs +20 -0
- package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -0
- package/functions/pre-transaction/outputUtxoProcessing.d.ts +5 -0
- package/functions/pre-transaction/outputUtxoProcessing.mjs +33 -0
- package/functions/pre-transaction/process-gas-estimates.cjs +1 -0
- package/functions/pre-transaction/process-gas-estimates.d.ts +5 -0
- package/functions/pre-transaction/process-gas-estimates.mjs +25 -0
- package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -0
- package/functions/pre-transaction/recipientUtxoProcessing.d.ts +3 -0
- package/functions/pre-transaction/recipientUtxoProcessing.mjs +32 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.d.ts +11 -0
- package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +44 -0
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -0
- package/functions/pre-transaction/sendV0Transaction.d.ts +18 -0
- package/functions/pre-transaction/sendV0Transaction.mjs +116 -0
- package/functions/pre-transaction/solana-public-signals.cjs +1 -0
- package/functions/pre-transaction/solana-public-signals.d.ts +21 -0
- package/functions/pre-transaction/solana-public-signals.mjs +59 -0
- package/functions/pre-transaction/solana.cjs +1 -0
- package/functions/pre-transaction/solana.d.ts +14 -0
- package/functions/pre-transaction/solana.mjs +72 -0
- package/functions/pre-transaction/solanaTransfer.utils.cjs +1 -0
- package/functions/pre-transaction/solanaTransfer.utils.d.ts +6 -0
- package/functions/pre-transaction/solanaTransfer.utils.mjs +22 -0
- package/functions/pre-transaction/store-instructions.cjs +1 -0
- package/functions/pre-transaction/store-instructions.d.ts +4 -0
- package/functions/pre-transaction/store-instructions.mjs +13 -0
- package/functions/pre-transaction/store-proof.cjs +1 -0
- package/functions/pre-transaction/store-proof.d.ts +7 -0
- package/functions/pre-transaction/store-proof.mjs +30 -0
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -0
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.d.ts +3 -0
- package/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +29 -0
- package/functions/private-wallet/emporium.helpers.cjs +1 -0
- package/functions/private-wallet/emporium.helpers.d.ts +47 -0
- package/functions/private-wallet/emporium.helpers.mjs +162 -0
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -0
- package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -0
- package/functions/private-wallet/emporium.swap.helpers.mjs +108 -0
- package/functions/private-wallet/index.cjs +1 -0
- package/functions/private-wallet/index.d.ts +3 -0
- package/functions/private-wallet/index.mjs +3 -0
- package/functions/private-wallet/opProducer.cjs +1 -0
- package/functions/private-wallet/opProducer.d.ts +5 -0
- package/functions/private-wallet/opProducer.mjs +28 -0
- package/functions/snarkjs/common.snarkjs.cjs +1 -0
- package/functions/snarkjs/common.snarkjs.d.ts +23 -0
- package/functions/snarkjs/common.snarkjs.mjs +133 -0
- package/functions/snarkjs/constant.cjs +1 -0
- package/functions/snarkjs/constant.d.ts +149 -0
- package/functions/snarkjs/constant.mjs +152 -0
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -0
- package/functions/snarkjs/constructGeneralZkProof.d.ts +12 -0
- package/functions/snarkjs/constructGeneralZkProof.mjs +81 -0
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -0
- package/functions/snarkjs/constructSolanaZkProof.d.ts +12 -0
- package/functions/snarkjs/constructSolanaZkProof.mjs +72 -0
- package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -0
- package/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +11 -0
- package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +14 -0
- package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -0
- package/functions/snarkjs/fetchOnChainRootHashes.d.ts +3 -0
- package/functions/snarkjs/fetchOnChainRootHashes.mjs +27 -0
- package/functions/snarkjs/generateCircomData.cjs +1 -0
- package/functions/snarkjs/generateCircomData.d.ts +5 -0
- package/functions/snarkjs/generateCircomData.mjs +33 -0
- package/functions/snarkjs/generateZkProof.cjs +1 -0
- package/functions/snarkjs/generateZkProof.d.ts +5 -0
- package/functions/snarkjs/generateZkProof.mjs +24 -0
- package/functions/snarkjs/generateZkProofEnclave.cjs +1 -0
- package/functions/snarkjs/generateZkProofEnclave.d.ts +5 -0
- package/functions/snarkjs/generateZkProofEnclave.mjs +27 -0
- package/functions/snarkjs/generateZkProofSelf.cjs +1 -0
- package/functions/snarkjs/generateZkProofSelf.d.ts +5 -0
- package/functions/snarkjs/generateZkProofSelf.mjs +25 -0
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -0
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +16 -0
- package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +77 -0
- package/functions/snarkjs/getOriginalSender.cjs +1 -0
- package/functions/snarkjs/getOriginalSender.d.ts +1 -0
- package/functions/snarkjs/getOriginalSender.mjs +5 -0
- package/functions/snarkjs/getZKFiles.cjs +1 -0
- package/functions/snarkjs/getZKFiles.d.ts +3 -0
- package/functions/snarkjs/getZKFiles.mjs +7 -0
- package/functions/snarkjs/index.cjs +1 -0
- package/functions/snarkjs/index.d.ts +7 -0
- package/functions/snarkjs/index.mjs +7 -0
- package/functions/snarkjs/signedMessageHash.cjs +1 -0
- package/functions/snarkjs/signedMessageHash.d.ts +31 -0
- package/functions/snarkjs/signedMessageHash.mjs +49 -0
- package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
- package/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
- package/functions/snarkjs/verifyCommitmentValidationData.mjs +43 -0
- package/functions/utils/addresses.cjs +1 -0
- package/functions/utils/addresses.d.ts +11 -0
- package/functions/utils/addresses.mjs +45 -0
- package/functions/utils/aggregateTokenAmounts.cjs +1 -0
- package/functions/utils/aggregateTokenAmounts.d.ts +2 -0
- package/functions/utils/aggregateTokenAmounts.mjs +26 -0
- package/functions/utils/amounts.utils.cjs +1 -0
- package/functions/utils/amounts.utils.d.ts +25 -0
- package/functions/utils/amounts.utils.mjs +67 -0
- package/functions/utils/arraysMatch.cjs +1 -0
- package/functions/utils/arraysMatch.d.ts +1 -0
- package/functions/utils/arraysMatch.mjs +4 -0
- package/functions/utils/auth.utils.cjs +1 -0
- package/functions/utils/auth.utils.d.ts +5 -0
- package/functions/utils/auth.utils.mjs +7 -0
- package/functions/utils/bit.operations.cjs +1 -0
- package/functions/utils/bit.operations.d.ts +3 -0
- package/functions/utils/bit.operations.mjs +4 -0
- package/functions/utils/buildClaimableDepositPlan.cjs +1 -0
- package/functions/utils/buildClaimableDepositPlan.d.ts +16 -0
- package/functions/utils/buildClaimableDepositPlan.mjs +39 -0
- package/functions/utils/bytes32.utils.cjs +1 -0
- package/functions/utils/bytes32.utils.d.ts +2 -0
- package/functions/utils/bytes32.utils.mjs +9 -0
- package/functions/utils/cacheDevice.utils.cjs +1 -0
- package/functions/utils/cacheDevice.utils.d.ts +3 -0
- package/functions/utils/cacheDevice.utils.mjs +17 -0
- package/functions/utils/cacheFunctions.cjs +1 -0
- package/functions/utils/cacheFunctions.d.ts +16 -0
- package/functions/utils/cacheFunctions.mjs +55 -0
- package/functions/utils/caseInsensitive.utils.cjs +1 -0
- package/functions/utils/caseInsensitive.utils.d.ts +3 -0
- package/functions/utils/caseInsensitive.utils.mjs +4 -0
- package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -0
- package/functions/utils/convertEmporiumOpToCallInfo.d.ts +2 -0
- package/functions/utils/convertEmporiumOpToCallInfo.mjs +19 -0
- package/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -0
- package/functions/utils/convertIntegrationProviderToExternalActionId.d.ts +3 -0
- package/functions/utils/convertIntegrationProviderToExternalActionId.mjs +14 -0
- package/functions/utils/create-provider.cjs +1 -0
- package/functions/utils/create-provider.d.ts +5 -0
- package/functions/utils/create-provider.mjs +11 -0
- package/functions/utils/customEnclaveFunctionsRegister.cjs +1 -0
- package/functions/utils/customEnclaveFunctionsRegister.d.ts +18 -0
- package/functions/utils/customEnclaveFunctionsRegister.mjs +8 -0
- package/functions/utils/deposit-claimable.utils.cjs +1 -0
- package/functions/utils/deposit-claimable.utils.d.ts +6 -0
- package/functions/utils/deposit-claimable.utils.mjs +106 -0
- package/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
- package/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
- package/functions/utils/dispatchBalanceRefreshes.mjs +44 -0
- package/functions/utils/enclave-recipient-info-storage.cjs +1 -0
- package/functions/utils/enclave-recipient-info-storage.d.ts +2 -0
- package/functions/utils/enclave-recipient-info-storage.mjs +17 -0
- package/functions/utils/enclave-signature-storage.cjs +1 -0
- package/functions/utils/enclave-signature-storage.d.ts +1 -0
- package/functions/utils/enclave-signature-storage.mjs +9 -0
- package/functions/utils/enclave-utxo-storage.cjs +1 -0
- package/functions/utils/enclave-utxo-storage.d.ts +7 -0
- package/functions/utils/enclave-utxo-storage.mjs +30 -0
- package/functions/utils/encodeTokenWithId.cjs +1 -0
- package/functions/utils/encodeTokenWithId.d.ts +2 -0
- package/functions/utils/encodeTokenWithId.mjs +8 -0
- package/functions/utils/encryptInputForEnclave.cjs +1 -0
- package/functions/utils/encryptInputForEnclave.d.ts +8 -0
- package/functions/utils/encryptInputForEnclave.mjs +34 -0
- package/functions/utils/enum.utils.cjs +1 -0
- package/functions/utils/enum.utils.d.ts +9 -0
- package/functions/utils/enum.utils.mjs +12 -0
- package/functions/utils/erc20tokenFunctions.cjs +1 -0
- package/functions/utils/erc20tokenFunctions.d.ts +16 -0
- package/functions/utils/erc20tokenFunctions.mjs +53 -0
- package/functions/utils/evmNetworkFunctions.cjs +1 -0
- package/functions/utils/evmNetworkFunctions.d.ts +3 -0
- package/functions/utils/evmNetworkFunctions.mjs +6 -0
- package/functions/utils/external-action.utils.cjs +1 -0
- package/functions/utils/external-action.utils.d.ts +3 -0
- package/functions/utils/external-action.utils.mjs +7 -0
- package/functions/utils/fees.utils.cjs +1 -0
- package/functions/utils/fees.utils.d.ts +6 -0
- package/functions/utils/fees.utils.mjs +43 -0
- package/functions/utils/formatter.cjs +1 -0
- package/functions/utils/formatter.d.ts +1 -0
- package/functions/utils/formatter.mjs +15 -0
- package/functions/utils/get-signature-header.cjs +1 -0
- package/functions/utils/get-signature-header.d.ts +5 -0
- package/functions/utils/get-signature-header.mjs +4 -0
- package/functions/utils/getBlockExplorerUrl.cjs +1 -0
- package/functions/utils/getBlockExplorerUrl.d.ts +1 -0
- package/functions/utils/getBlockExplorerUrl.mjs +6 -0
- package/functions/utils/getContractAddress.cjs +1 -0
- package/functions/utils/getContractAddress.d.ts +2 -0
- package/functions/utils/getContractAddress.mjs +8 -0
- package/functions/utils/getDataFromTransaction.cjs +1 -0
- package/functions/utils/getDataFromTransaction.d.ts +33 -0
- package/functions/utils/getDataFromTransaction.mjs +42 -0
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -0
- package/functions/utils/getRecipientInfoFromUserKeys.d.ts +4 -0
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +20 -0
- package/functions/utils/getSignerFromContract.cjs +1 -0
- package/functions/utils/getSignerFromContract.d.ts +3 -0
- package/functions/utils/getSignerFromContract.mjs +13 -0
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -0
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +6 -0
- package/functions/utils/getUtxosFromReceipt.utils.mjs +68 -0
- package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -0
- package/functions/utils/getUtxosFromReceiptSolana.d.ts +7 -0
- package/functions/utils/getUtxosFromReceiptSolana.mjs +44 -0
- package/functions/utils/getWalletGroupKey.utils.cjs +1 -0
- package/functions/utils/getWalletGroupKey.utils.d.ts +1 -0
- package/functions/utils/getWalletGroupKey.utils.mjs +7 -0
- package/functions/utils/inLogicMetadata.cjs +1 -0
- package/functions/utils/inLogicMetadata.d.ts +2 -0
- package/functions/utils/inLogicMetadata.mjs +15 -0
- package/functions/utils/index.cjs +1 -0
- package/functions/utils/index.d.ts +71 -0
- package/functions/utils/index.mjs +91 -0
- package/functions/utils/involves-permit2-op.cjs +1 -0
- package/functions/utils/involves-permit2-op.d.ts +7 -0
- package/functions/utils/involves-permit2-op.mjs +5 -0
- package/functions/utils/ipfs.cjs +1 -0
- package/functions/utils/ipfs.d.ts +8 -0
- package/functions/utils/ipfs.mjs +22 -0
- package/functions/utils/is-valid-url.cjs +1 -0
- package/functions/utils/is-valid-url.d.ts +1 -0
- package/functions/utils/is-valid-url.mjs +4 -0
- package/functions/utils/lifi.utils.cjs +1 -0
- package/functions/utils/lifi.utils.d.ts +4 -0
- package/functions/utils/lifi.utils.mjs +30 -0
- package/functions/utils/memoize.utils.d.ts +1 -0
- package/functions/utils/merkleTree.utils.cjs +1 -0
- package/functions/utils/merkleTree.utils.d.ts +2 -0
- package/functions/utils/merkleTree.utils.mjs +10 -0
- package/functions/utils/mnemonics.cjs +1 -0
- package/functions/utils/mnemonics.d.ts +1 -0
- package/functions/utils/mnemonics.mjs +8 -0
- package/functions/utils/mutexes.utils.cjs +1 -0
- package/functions/utils/mutexes.utils.d.ts +2 -0
- package/functions/utils/mutexes.utils.mjs +5 -0
- package/functions/utils/networks.utils.cjs +1 -0
- package/functions/utils/networks.utils.d.ts +1 -0
- package/functions/utils/networks.utils.mjs +9 -0
- package/functions/utils/nftTokenFunctions.cjs +1 -0
- package/functions/utils/nftTokenFunctions.d.ts +2 -0
- package/functions/utils/nftTokenFunctions.mjs +19 -0
- package/functions/utils/nickname.utils.cjs +1 -0
- package/functions/utils/nickname.utils.d.ts +1 -0
- package/functions/utils/nickname.utils.mjs +4 -0
- package/functions/utils/pay-routing.utils.cjs +1 -0
- package/functions/utils/pay-routing.utils.d.ts +4 -0
- package/functions/utils/pay-routing.utils.mjs +17 -0
- package/functions/utils/postToOffscreen.cjs +1 -0
- package/functions/utils/postToOffscreen.d.ts +2 -0
- package/functions/utils/postToOffscreen.mjs +9 -0
- package/functions/utils/prepareHinkal.cjs +1 -0
- package/functions/utils/prepareHinkal.d.ts +11 -0
- package/functions/utils/prepareHinkal.mjs +42 -0
- package/functions/utils/process.utils.cjs +1 -0
- package/functions/utils/process.utils.d.ts +13 -0
- package/functions/utils/process.utils.mjs +23 -0
- package/functions/utils/proxyAvatar.utils.cjs +1 -0
- package/functions/utils/proxyAvatar.utils.d.ts +2 -0
- package/functions/utils/proxyAvatar.utils.mjs +4 -0
- package/functions/utils/publicBalance.utils.cjs +1 -0
- package/functions/utils/publicBalance.utils.d.ts +7 -0
- package/functions/utils/publicBalance.utils.mjs +102 -0
- package/functions/utils/reloadPage.cjs +1 -0
- package/functions/utils/reloadPage.d.ts +1 -0
- package/functions/utils/reloadPage.mjs +4 -0
- package/functions/utils/requireEnv.cjs +1 -0
- package/functions/utils/requireEnv.d.ts +1 -0
- package/functions/utils/requireEnv.mjs +7 -0
- package/functions/utils/resolve-sync.utils.cjs +1 -0
- package/functions/utils/resolve-sync.utils.d.ts +6 -0
- package/functions/utils/resolve-sync.utils.mjs +28 -0
- package/functions/utils/rpc-int-encode.cjs +1 -0
- package/functions/utils/rpc-int-encode.d.ts +1 -0
- package/functions/utils/rpc-int-encode.mjs +5 -0
- package/functions/utils/serialize-utxos.utils.cjs +1 -0
- package/functions/utils/serialize-utxos.utils.d.ts +3 -0
- package/functions/utils/serialize-utxos.utils.mjs +16 -0
- package/functions/utils/serialize.utils.cjs +1 -0
- package/functions/utils/serialize.utils.d.ts +10 -0
- package/functions/utils/serialize.utils.mjs +7 -0
- package/functions/utils/solana-memo.cjs +1 -0
- package/functions/utils/solana-memo.d.ts +3 -0
- package/functions/utils/solana-memo.mjs +15 -0
- package/functions/utils/solanaMint.utils.cjs +1 -0
- package/functions/utils/solanaMint.utils.d.ts +10 -0
- package/functions/utils/solanaMint.utils.mjs +18 -0
- package/functions/utils/solanaSendPreflight.utils.cjs +1 -0
- package/functions/utils/solanaSendPreflight.utils.d.ts +6 -0
- package/functions/utils/solanaSendPreflight.utils.mjs +21 -0
- package/functions/utils/string.utils.cjs +1 -0
- package/functions/utils/string.utils.d.ts +16 -0
- package/functions/utils/string.utils.mjs +41 -0
- package/functions/utils/time.utils.cjs +1 -0
- package/functions/utils/time.utils.d.ts +19 -0
- package/functions/utils/time.utils.mjs +58 -0
- package/functions/utils/token-check.utils.cjs +1 -0
- package/functions/utils/token-check.utils.d.ts +5 -0
- package/functions/utils/token-check.utils.mjs +18 -0
- package/functions/utils/transfer-claimable.utils.cjs +1 -0
- package/functions/utils/transfer-claimable.utils.d.ts +9 -0
- package/functions/utils/transfer-claimable.utils.mjs +93 -0
- package/functions/utils/trimFieldValues.cjs +1 -0
- package/functions/utils/trimFieldValues.d.ts +4 -0
- package/functions/utils/trimFieldValues.mjs +23 -0
- package/functions/utils/tron.utils.cjs +1 -0
- package/functions/utils/tron.utils.d.ts +42 -0
- package/functions/utils/tron.utils.mjs +197 -0
- package/functions/utils/tronSimulation.utils.cjs +1 -0
- package/functions/utils/tronSimulation.utils.d.ts +1 -0
- package/functions/utils/tronSimulation.utils.mjs +25 -0
- package/functions/utils/tx-confirmation.utils.cjs +1 -0
- package/functions/utils/tx-confirmation.utils.d.ts +10 -0
- package/functions/utils/tx-confirmation.utils.mjs +34 -0
- package/functions/utils/upToDateState.cjs +1 -0
- package/functions/utils/upToDateState.d.ts +2 -0
- package/functions/utils/upToDateState.mjs +9 -0
- package/functions/utils/userAgent.cjs +1 -0
- package/functions/utils/userAgent.d.ts +2 -0
- package/functions/utils/userAgent.mjs +11 -0
- package/functions/utils/validateUsername.cjs +1 -0
- package/functions/utils/validateUsername.d.ts +5 -0
- package/functions/utils/validateUsername.mjs +22 -0
- package/functions/utils/walletBalances.utils.cjs +1 -0
- package/functions/utils/walletBalances.utils.d.ts +2 -0
- package/functions/utils/walletBalances.utils.mjs +11 -0
- package/functions/web3/EIP-712.cjs +1 -0
- package/functions/web3/EIP-712.d.ts +23 -0
- package/functions/web3/EIP-712.mjs +110 -0
- package/functions/web3/connectors.utils.cjs +1 -0
- package/functions/web3/connectors.utils.d.ts +8 -0
- package/functions/web3/connectors.utils.mjs +26 -0
- package/functions/web3/crypto.cjs +1 -0
- package/functions/web3/crypto.d.ts +1 -0
- package/functions/web3/crypto.mjs +10 -0
- package/functions/web3/etherFunctions.cjs +1 -0
- package/functions/web3/etherFunctions.d.ts +20 -0
- package/functions/web3/etherFunctions.mjs +36 -0
- package/functions/web3/events/balanceChangedHandler.cjs +1 -0
- package/functions/web3/events/balanceChangedHandler.d.ts +2 -0
- package/functions/web3/events/balanceChangedHandler.mjs +9 -0
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -0
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +38 -0
- package/functions/web3/events/getInputUtxoAndBalance.mjs +112 -0
- package/functions/web3/events/getInputUtxosEnclave.cjs +1 -0
- package/functions/web3/events/getInputUtxosEnclave.d.ts +9 -0
- package/functions/web3/events/getInputUtxosEnclave.mjs +59 -0
- package/functions/web3/events/getShieldedBalance.cjs +1 -0
- package/functions/web3/events/getShieldedBalance.d.ts +18 -0
- package/functions/web3/events/getShieldedBalance.mjs +96 -0
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -0
- package/functions/web3/events/getTransactionLogEvents.d.ts +13 -0
- package/functions/web3/events/getTransactionLogEvents.mjs +36 -0
- package/functions/web3/events/index.cjs +1 -0
- package/functions/web3/events/index.d.ts +4 -0
- package/functions/web3/events/index.mjs +4 -0
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -0
- package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +3 -0
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -0
- package/functions/web3/functionCalls/approveToken.cjs +1 -0
- package/functions/web3/functionCalls/approveToken.d.ts +4 -0
- package/functions/web3/functionCalls/approveToken.mjs +113 -0
- package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -0
- package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +4 -0
- package/functions/web3/functionCalls/approveTokensToHinkal.mjs +11 -0
- package/functions/web3/functionCalls/constructBatchCall.cjs +1 -0
- package/functions/web3/functionCalls/constructBatchCall.d.ts +7 -0
- package/functions/web3/functionCalls/constructBatchCall.mjs +59 -0
- package/functions/web3/functionCalls/estimateGasRelayer.d.ts +4 -0
- package/functions/web3/functionCalls/getRootHash.d.ts +2 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +2 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.mjs +18 -0
- package/functions/web3/functionCalls/relayFunctions.d.ts +3 -0
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -0
- package/functions/web3/functionCalls/transactCallDirect.d.ts +6 -0
- package/functions/web3/functionCalls/transactCallDirect.mjs +60 -0
- package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -0
- package/functions/web3/functionCalls/transactCallDirectTron.d.ts +12 -0
- package/functions/web3/functionCalls/transactCallDirectTron.mjs +115 -0
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -0
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +37 -0
- package/functions/web3/functionCalls/transactCallRelayer.mjs +63 -0
- package/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -0
- package/functions/web3/functionCalls/waitForErc20Approvals.d.ts +11 -0
- package/functions/web3/functionCalls/waitForErc20Approvals.mjs +41 -0
- package/functions/web3/getContractMetadata.cjs +1 -0
- package/functions/web3/getContractMetadata.d.ts +5 -0
- package/functions/web3/getContractMetadata.mjs +23 -0
- package/functions/web3/getPublicAddressBalance.cjs +1 -0
- package/functions/web3/getPublicAddressBalance.d.ts +2 -0
- package/functions/web3/getPublicAddressBalance.mjs +10 -0
- package/functions/web3/getSolanaPriorityFee.cjs +1 -0
- package/functions/web3/getSolanaPriorityFee.d.ts +3 -0
- package/functions/web3/getSolanaPriorityFee.mjs +26 -0
- package/functions/web3/getTokenHolder.cjs +1 -0
- package/functions/web3/getTokenHolder.d.ts +1 -0
- package/functions/web3/getTokenHolder.mjs +35 -0
- package/functions/web3/index.cjs +1 -0
- package/functions/web3/index.d.ts +14 -0
- package/functions/web3/index.mjs +18 -0
- package/functions/web3/lifiAPI.cjs +1 -0
- package/functions/web3/lifiAPI.d.ts +6 -0
- package/functions/web3/lifiAPI.mjs +37 -0
- package/functions/web3/odosAPI.cjs +1 -0
- package/functions/web3/odosAPI.d.ts +5 -0
- package/functions/web3/odosAPI.mjs +35 -0
- package/functions/web3/okxAPI.cjs +1 -0
- package/functions/web3/okxAPI.d.ts +8 -0
- package/functions/web3/okxAPI.mjs +33 -0
- package/functions/web3/oneInchAPI.cjs +1 -0
- package/functions/web3/oneInchAPI.d.ts +5 -0
- package/functions/web3/oneInchAPI.mjs +34 -0
- package/functions/web3/runContractFunction.cjs +1 -0
- package/functions/web3/runContractFunction.d.ts +16 -0
- package/functions/web3/runContractFunction.mjs +55 -0
- package/functions/web3/signAndSendSerializedTransaction.cjs +1 -0
- package/functions/web3/signAndSendSerializedTransaction.d.ts +2 -0
- package/functions/web3/signAndSendSerializedTransaction.mjs +14 -0
- package/functions/web3/uniswapAPI.cjs +1 -0
- package/functions/web3/uniswapAPI.d.ts +16 -0
- package/functions/web3/uniswapAPI.mjs +60 -0
- package/index.cjs +1 -0
- package/index.d.ts +9 -0
- package/index.mjs +342 -0
- package/mutexes/index.cjs +1 -0
- package/mutexes/index.d.ts +1 -0
- package/mutexes/index.mjs +1 -0
- package/mutexes/mutex.cjs +1 -0
- package/mutexes/mutex.d.ts +2 -0
- package/mutexes/mutex.mjs +5 -0
- package/package.json +112 -0
- package/providers/CustomSolanaConnection.cjs +1 -0
- package/providers/CustomSolanaConnection.d.ts +4 -0
- package/providers/CustomSolanaConnection.mjs +31 -0
- package/providers/EthersProviderAdapter.cjs +1 -0
- package/providers/EthersProviderAdapter.d.ts +36 -0
- package/providers/EthersProviderAdapter.mjs +101 -0
- package/providers/SolanaProviderAdapter.cjs +1 -0
- package/providers/SolanaProviderAdapter.d.ts +52 -0
- package/providers/SolanaProviderAdapter.mjs +147 -0
- package/providers/TronProviderAdapter.cjs +1 -0
- package/providers/TronProviderAdapter.d.ts +39 -0
- package/providers/TronProviderAdapter.mjs +97 -0
- package/providers/WagmiProviderAdapter.cjs +1 -0
- package/providers/WagmiProviderAdapter.d.ts +48 -0
- package/providers/WagmiProviderAdapter.mjs +198 -0
- package/providers/exportProviers.d.ts +3 -0
- package/providers/prepareEthersHinkal.cjs +1 -0
- package/providers/prepareEthersHinkal.d.ts +4 -0
- package/providers/prepareEthersHinkal.mjs +13 -0
- package/providers/prepareSolanaHinkal.cjs +1 -0
- package/providers/prepareSolanaHinkal.d.ts +4 -0
- package/providers/prepareSolanaHinkal.mjs +14 -0
- package/providers/prepareTronHinkal.cjs +1 -0
- package/providers/prepareTronHinkal.d.ts +4 -0
- package/providers/prepareTronHinkal.mjs +14 -0
- package/providers/prepareWagmiHinkal.cjs +1 -0
- package/providers/prepareWagmiHinkal.d.ts +3 -0
- package/providers/prepareWagmiHinkal.mjs +13 -0
- package/types/API.types.d.ts +25 -0
- package/types/ICacheDevice.d.ts +5 -0
- package/types/IMultiThreadedUtxoUtils.d.ts +8 -0
- package/types/RewardUserEnums.cjs +1 -0
- package/types/RewardUserEnums.d.ts +11 -0
- package/types/RewardUserEnums.mjs +8 -0
- package/types/TransactionSimulator.types.d.ts +16 -0
- package/types/WeeklyAnalytics.types.d.ts +37 -0
- package/types/activities.types.cjs +1 -0
- package/types/activities.types.d.ts +77 -0
- package/types/activities.types.mjs +26 -0
- package/types/admin.types.cjs +1 -0
- package/types/admin.types.d.ts +42 -0
- package/types/admin.types.mjs +6 -0
- package/types/all-points.types.d.ts +7 -0
- package/types/approvals.types.cjs +1 -0
- package/types/approvals.types.d.ts +41 -0
- package/types/approvals.types.mjs +6 -0
- package/types/balances.types.cjs +1 -0
- package/types/balances.types.d.ts +17 -0
- package/types/balances.types.mjs +6 -0
- package/types/big-intable.types.d.ts +3 -0
- package/types/bridging-tx.types.d.ts +17 -0
- package/types/brotherhood-user.types.d.ts +11 -0
- package/types/cache.types.cjs +1 -0
- package/types/cache.types.d.ts +58 -0
- package/types/cache.types.mjs +6 -0
- package/types/chains.types.cjs +1 -0
- package/types/chains.types.d.ts +11 -0
- package/types/chains.types.mjs +8 -0
- package/types/circom-data.types.cjs +1 -0
- package/types/circom-data.types.d.ts +107 -0
- package/types/circom-data.types.mjs +19 -0
- package/types/coingecko.types.d.ts +220 -0
- package/types/commitments.types.d.ts +42 -0
- package/types/confirmation-request.types.cjs +1 -0
- package/types/confirmation-request.types.d.ts +10 -0
- package/types/confirmation-request.types.mjs +6 -0
- package/types/connector.types.d.ts +5 -0
- package/types/contacts.types.d.ts +7 -0
- package/types/crypto.types.d.ts +8 -0
- package/types/dashboard-account.cjs +1 -0
- package/types/dashboard-account.d.ts +101 -0
- package/types/dashboard-account.mjs +8 -0
- package/types/dashboard-payout.types.cjs +1 -0
- package/types/dashboard-payout.types.d.ts +29 -0
- package/types/dashboard-payout.types.mjs +8 -0
- package/types/dashboard-transaction.types.d.ts +22 -0
- package/types/eip5792.types.cjs +1 -0
- package/types/eip5792.types.d.ts +33 -0
- package/types/eip5792.types.mjs +8 -0
- package/types/ethereum-network.types.cjs +1 -0
- package/types/ethereum-network.types.d.ts +62 -0
- package/types/ethereum-network.types.mjs +6 -0
- package/types/events.types.cjs +1 -0
- package/types/events.types.d.ts +5 -0
- package/types/events.types.mjs +6 -0
- package/types/external-action.types.cjs +1 -0
- package/types/external-action.types.d.ts +17 -0
- package/types/external-action.types.mjs +6 -0
- package/types/fee.types.cjs +1 -0
- package/types/fee.types.d.ts +13 -0
- package/types/fee.types.mjs +6 -0
- package/types/generatePoints.cjs +1 -0
- package/types/generatePoints.d.ts +14 -0
- package/types/generatePoints.mjs +8 -0
- package/types/hinkal.types.cjs +1 -0
- package/types/hinkal.types.d.ts +102 -0
- package/types/hinkal.types.mjs +32 -0
- package/types/http.types.d.ts +8 -0
- package/types/index.cjs +1 -0
- package/types/index.d.ts +60 -0
- package/types/index.mjs +30 -0
- package/types/kyc.types.cjs +1 -0
- package/types/kyc.types.d.ts +41 -0
- package/types/kyc.types.mjs +12 -0
- package/types/message.types.d.ts +5 -0
- package/types/new-rewards.type.cjs +1 -0
- package/types/new-rewards.type.d.ts +153 -0
- package/types/new-rewards.type.mjs +12 -0
- package/types/offscreen.types.cjs +1 -0
- package/types/offscreen.types.d.ts +9 -0
- package/types/offscreen.types.mjs +6 -0
- package/types/okx.types.d.ts +57 -0
- package/types/onramp.types.cjs +1 -0
- package/types/onramp.types.d.ts +58 -0
- package/types/onramp.types.mjs +6 -0
- package/types/pay-activities.types.cjs +1 -0
- package/types/pay-activities.types.d.ts +32 -0
- package/types/pay-activities.types.mjs +10 -0
- package/types/pay-routing.types.d.ts +9 -0
- package/types/presaleReferral.types.d.ts +4 -0
- package/types/proxy.types.d.ts +19 -0
- package/types/referral.types.d.ts +12 -0
- package/types/remote-proof.types.d.ts +15 -0
- package/types/rewards.types.cjs +1 -0
- package/types/rewards.types.d.ts +34 -0
- package/types/rewards.types.mjs +8 -0
- package/types/schedule.types.cjs +1 -0
- package/types/schedule.types.d.ts +7 -0
- package/types/schedule.types.mjs +6 -0
- package/types/scheduled-transactions.types.cjs +1 -0
- package/types/scheduled-transactions.types.d.ts +49 -0
- package/types/scheduled-transactions.types.mjs +8 -0
- package/types/session.types.d.ts +13 -0
- package/types/signature.types.d.ts +10 -0
- package/types/slippage.types.cjs +1 -0
- package/types/slippage.types.d.ts +3 -0
- package/types/slippage.types.mjs +6 -0
- package/types/snark.types.d.ts +40 -0
- package/types/solana.types.d.ts +86 -0
- package/types/tenderly.api.types.d.ts +196 -0
- package/types/token-prices.types.cjs +1 -0
- package/types/token-prices.types.d.ts +18 -0
- package/types/token-prices.types.mjs +11 -0
- package/types/token-with-id.types.d.ts +4 -0
- package/types/token.types.cjs +1 -0
- package/types/token.types.d.ts +88 -0
- package/types/token.types.mjs +6 -0
- package/types/transaction.types.cjs +1 -0
- package/types/transaction.types.d.ts +160 -0
- package/types/transaction.types.mjs +6 -0
- package/types/transactions.types.cjs +1 -0
- package/types/transactions.types.d.ts +79 -0
- package/types/transactions.types.mjs +40 -0
- package/types/tron.types.d.ts +15 -0
- package/types/wc.types.d.ts +78 -0
- package/types/with-id.types.d.ts +3 -0
- package/webworker/WorkerWrapper.cjs +1 -0
- package/webworker/WorkerWrapper.d.ts +9 -0
- package/webworker/WorkerWrapper.mjs +22 -0
- package/webworker/logError-BpvR60Gy.js +22 -0
- package/webworker/package.json +112 -0
- package/webworker/performTaskWithWorker.cjs +1 -0
- package/webworker/performTaskWithWorker.d.ts +5 -0
- package/webworker/performTaskWithWorker.mjs +39 -0
- package/webworker/snarkjsWorker/snarkjsWorker.types.cjs +1 -0
- package/webworker/snarkjsWorker/snarkjsWorker.types.d.ts +14 -0
- package/webworker/snarkjsWorker/snarkjsWorker.types.mjs +6 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.d.ts +1 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +4 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +2 -0
- package/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
- package/webworker/snarkjsWorkerNode.cjs +3 -0
- package/webworker/utxoWorker/utxoWorker.types.cjs +1 -0
- package/webworker/utxoWorker/utxoWorker.types.d.ts +31 -0
- package/webworker/utxoWorker/utxoWorker.types.mjs +6 -0
- package/webworker/utxoWorker/utxoWorkerLauncher.d.ts +1 -0
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -0
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +4 -0
- package/webworker/utxoWorker/utxoWorkerLogic.d.ts +5 -0
- package/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
- package/webworker/utxoWorkerNode.cjs +1 -0
- package/webworker/viteWorkerURL.constant.cjs +21 -0
- package/webworker/viteWorkerURL.constant.d.ts +9 -0
- package/webworker/viteWorkerURL.constant.mjs +21 -0
- package/webworker/worker.registry.cjs +1 -0
- package/webworker/worker.registry.d.ts +10 -0
- package/webworker/worker.registry.mjs +10 -0
- package/webworker/worker.types.d.ts +33 -0
- package/webworker/workerErrorHandler.d.ts +1 -0
- package/webworker/workerFactory.cjs +1 -0
- package/webworker/workerFactory.d.ts +10 -0
- package/webworker/workerFactory.mjs +42 -0
- package/webworker/workerProxy-Bqjn0XUw.js +130 -0
- package/webworker/workerProxy.d.ts +39 -0
- package/webworker/workerThreadsPatch.d.ts +1 -0
- package/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -0
- package/webworker/zkProofWorker/zkProofWorker.types.d.ts +26 -0
- package/webworker/zkProofWorker/zkProofWorker.types.mjs +6 -0
- package/webworker/zkProofWorker/zkProofWorkerLauncher.d.ts +1 -0
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -0
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +4 -0
- package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +4 -0
- package/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
- package/webworker/zkProofWorkerNode.cjs +1 -0
|
@@ -0,0 +1,130 @@
|
|
|
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 ee(e){return-BigInt(e)}function M(e,t){return BigInt(e)*BigInt(t)}function N(e){return BigInt(e)*BigInt(e)}function P(e,t){return BigInt(e)**BigInt(t)}function F(e,t){return BigInt(e)**BigInt(t)}function te(e){return BigInt(e)>=0?BigInt(e):-BigInt(e)}function I(e,t){return BigInt(e)/BigInt(t)}function L(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,t){return BigInt(e)|BigInt(t)}function ue(e,t){return BigInt(e)^BigInt(t)}function de(e,t){return BigInt(e)&&BigInt(t)}function fe(e,t){return BigInt(e)||BigInt(t)}function pe(e){return!BigInt(e)}function me(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(ce(S(n,t*8),255))}function he(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 ge(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 _e(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 ve(e,t){return e.toString(t)}function ye(e){let t=new Uint8Array(Math.floor((v(e)-1)/8)+1);return me(t,0,e,t.byteLength),t}var be=g(0),xe=g(1),Se=Object.freeze({__proto__:null,abs:te,add:A,band:ce,bitLength:v,bits:D,bor:le,bxor:ue,div:I,e:g,eq:ne,exp:F,fromArray:_,fromRprBE:_e,fromRprLE:ge,fromString:h,geq:se,gt:ae,isNegative:y,isOdd:T,isZero:b,land:de,leq:oe,lnot:pe,lor:fe,lt:ie,mod:L,mul:M,naf:E,neg:ee,neq:re,one:xe,pow:P,shiftLeft:x,shiftRight:S,shl:C,shr:w,square:N,sub:j,toArray:k,toLEBuff:ye,toNumber:O,toRprBE:he,toRprLE:me,toString:ve,zero:be}),Ce=[];for(let e=0;e<256;e++)Ce[e]=we(e,8);function we(e,t){let n=0,r=e;for(let e=0;e<t;e++)n<<=1,n|=r&1,r>>=1;return n}function Te(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 Ee(e){if(e.m%2==1)if(ne(L(e.p,4),1))if(ne(L(e.p,8),1))if(ne(L(e.p,16),1))De(e);else if(ne(L(e.p,16),9))Oe(e);else throw Error(`Field withot sqrt`);else if(ne(L(e.p,8),5))ke(e);else throw Error(`Field withot sqrt`);else ne(L(e.p,4),3)&&Ae(e);else{let t=L(P(e.p,e.m/2),4);t==1?je(e):t==3?Me(e):Ne(e)}}function De(e){for(e.sqrt_q=P(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=I(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=I(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 Oe(e){e.sqrt=function(){throw Error(`Sqrt alg 4 not implemented`)}}function ke(e){e.sqrt=function(){throw Error(`Sqrt alg 3 not implemented`)}}function Ae(e){e.sqrt_q=P(e.p,e.m),e.sqrt_e1=I(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 je(e){e.sqrt=function(){throw Error(`Sqrt alg 10 not implemented`)}}function Me(e){e.sqrt_q=P(e.p,e.m/2),e.sqrt_e34=I(j(e.sqrt_q,3),4),e.sqrt_e12=I(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 Ne(e){e.sqrt=function(){throw Error(`Sqrt alg 8 not implemented`)}}function Pe(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 Fe(e){Pe(e,0,4,8,12),Pe(e,1,5,9,13),Pe(e,2,6,10,14),Pe(e,3,7,11,15),Pe(e,0,5,10,15),Pe(e,1,6,11,12),Pe(e,2,7,8,13),Pe(e,3,4,9,14)}var Ie=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(M(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++)Fe(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 Le(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 Re(){let e=Le(32),t=new Uint32Array(e.buffer),n=[];for(let e=0;e<8;e++)n.push(t[e]);return n}var ze=null;function Be(){return ze||(ze=new Ie(Re()),ze)}var Ve=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=He(e.length-1)+1;this._setRoots(t);let n=1<<t;if(e.length!=n)throw Error(`Size must be multiple of 2`);return Ue(this,e,t,0,1)}ifft(e){if(e.length<=1)return e;let t=He(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=Ue(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 He(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 Ue(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=Ue(e,t,n-1,r,i*2),c=Ue(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 We=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),Ee(this),this.FFT=new Ve(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 Te(this,e,t)}exp(e,t){return Te(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(Le(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){me(e,t,n,this.n64*8)}toRprBE(e,t,n){he(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 ge(e,t,this.n8)}fromRprBE(e,t){return _e(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}},Ge={};Ge.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},Ge.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},Ge.isOcamNum=function(e){return!(!Array.isArray(e)||e.length!=3||typeof e[0]!=`number`||typeof e[1]!=`number`||!Array.isArray(e[2]))};var Ke=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},qe=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}},Je=Ye;function Ye(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 Xe=Ze;function Ze(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 Qe=$e;function $e(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 R={};function et(e,t){return e===t?0:e>t?1:-1}function tt(e){return e*e}function nt(e){return e%2n!=0n}function rt(e){return e%2n==0n}function it(e){return e<0n}function at(e){return e>0n}function ot(e){return it(e)?e.toString(2).length-1:e.toString(2).length}function st(e){return e<0n?-e:e}function ct(e){return st(e)===1n}function lt(e,t){for(var n=0n,r=1n,i=t,a=st(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(!ct(i))throw Error(e.toString()+` and `+t.toString()+` are not co-prime`);return et(n,0n)===-1&&(n+=t),it(e)?-n:n}function ut(e,t,n){if(n===0n)throw Error(`Cannot take modPow with modulus 0`);var r=1n,i=e%n;for(it(t)&&(t*=-1n,i=lt(i,n));at(t);){if(i===0n)return 0n;nt(t)&&(r=r*i%n),t/=2n,i=tt(i)%n}return r}function dt(e,t){return e=e>=0n?e:-e,t=t>=0n?t:-t,e===t?0:e>t?1:-1}function ft(e,t){return t===0n?!1:ct(t)?!0:dt(t,2n)===0?rt(e):e%t===0n}function pt(e){var t=st(e);if(ct(t))return!1;if(t===2n||t===3n||t===5n)return!0;if(rt(t)||ft(t,3n)||ft(t,5n))return!1;if(t<49n)return!0}function mt(e){return e-1n}function ht(e,t){for(var n=mt(e),r=n,i=0,a,o,s;rt(r);)r/=2n,i++;next:for(o=0;o<t.length;o++)if(!(e<t[o])&&(s=ut(BigInt(t[o]),r,e),!(ct(s)||s===n))){for(a=i-1;a!=0;a--){if(s=tt(s)%e,ct(s))return!1;if(s===n)continue next}return!1}return!0}function gt(e){var t=pt(e);if(t!==void 0)return t;var n=st(e),r=ot(n);if(r<=64)return ht(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 ht(n,o)}R.bitLength=ot,R.isOdd=nt,R.isNegative=it,R.abs=st,R.isUnit=ct,R.compare=et,R.modInv=lt,R.modPow=ut,R.isPrime=gt,R.square=tt;var _t=Ke,vt=Ge,yt=qe,bt=Je,xt=Xe,St=Qe,{bitLength:Ct,modInv:wt,modPow:Tt,isPrime:Et,isOdd:Dt,square:Ot}=R,kt=function(e,t,n,r){let i=BigInt(t),a=Math.floor((Ct(i-1n)-1)/64)+1,o=a*2,s=a*8,c=n||`f1m`;if(e.modules[c])return c;let l=_t(e,a,r),u=e.alloc(s,vt.bigInt2BytesLE(i,s)),d=e.alloc(vt.bigInt2BytesLE(Ot(1n<<BigInt(a*64))%i,s)),f=e.alloc(vt.bigInt2BytesLE((1n<<BigInt(a*64))%i,s)),p=e.alloc(vt.bigInt2BytesLE(0n,s)),m=i-1n,h=m>>1n,g=e.alloc(s,vt.bigInt2BytesLE(h,s)),_=h+1n,v=e.alloc(s,vt.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-wt(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-wt(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-wt(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 ee=2n;if(Et(i))for(;Tt(ee,h,i)!==m;)ee+=1n;let M=0,N=m;for(;!Dt(N)&&N!==0n;)M++,N>>=1n;let P=e.alloc(s,vt.bigInt2BytesLE(N,s)),F=Tt(ee,N,i),te=e.alloc(vt.bigInt2BytesLE((F<<BigInt(a*64))%i,s)),I=N+1n>>1n,L=e.alloc(s,vt.bigInt2BytesLE(I,s));function ne(){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(M)),n.call(c+`_copy`,n.i32_const(te),i),n.call(c+`_exp`,n.getLocal(`n`),n.i32_const(P),n.i32_const(s),a),n.call(c+`_exp`,n.getLocal(`n`),n.i32_const(L),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 re(){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 ie(){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 ae(){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 oe(){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`),oe(),b(),x(),S(),T(),E(),D(),O(),k(),A(),C(),w(),j(),y(),ie(),ae(),bt(e,c),xt(e,c+`_batchToMontgomery`,c+`_toMontgomery`,s,s),xt(e,c+`_batchFromMontgomery`,c+`_fromMontgomery`,s,s),xt(e,c+`_batchNeg`,c+`_neg`,s,s),St(e,c+`_batchAdd`,c+`_add`,s,s),St(e,c+`_batchSub`,c+`_sub`,s,s),St(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`),yt(e,c+`_exp`,s,c+`_mul`,c+`_square`,l+`_copy`,c+`_one`),e.exportFunction(c+`_exp`),e.exportFunction(c+`_batchInverse`),Et(i)&&(ne(),re(),e.exportFunction(c+`_sqrt`),e.exportFunction(c+`_isSquare`)),e.exportFunction(c+`_batchToMontgomery`),e.exportFunction(c+`_batchFromMontgomery`),c},At=kt,{bitLength:jt}=R,Mt=function(e,t,n,r,i){let a=BigInt(t),o=Math.floor((jt(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=At(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},Nt=qe,Pt=Je,Ft=Ge,It=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(Ft.bigInt2BytesLE((BigInt(a||0)-3n)/4n,i))),c=o.i32_const(e.alloc(Ft.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(Ft.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`),Pt(e,n),Nt(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},Lt=qe,Rt=Je,zt=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`),Rt(e,n),Lt(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},Bt=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`)))},Vt=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`)},Ht=Bt,Ut=Xe,Wt=Vt,Gt=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 ee(){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 M(){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 N(){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 P(){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 F(){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 te(){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 I(){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 L(){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(),I(),L(),ee(),k(),M(),P(),N(),F(),te(),Ut(e,t+`_batchLEMtoU`,t+`_LEMtoU`,a*2,a*2),Ut(e,t+`_batchLEMtoC`,t+`_LEMtoC`,a*2,a),Ut(e,t+`_batchUtoLEM`,t+`_UtoLEM`,a*2,a*2),Ut(e,t+`_batchCtoLEM`,t+`_CtoLEM`,a,a*2,!0),Ut(e,t+`_batchToJacobian`,t+`_toJacobian`,a*2,a*3,!0),Wt(e,t,t+`_multiexp`,t+`_add`,a*3),Wt(e,t,t+`_multiexpAffine`,t+`_addMixed`,a*2),Ht(e,t+`_timesScalar`,a*3,t+`_add`,t+`_double`,t+`_sub`,t+`_copy`,t+`_zero`),Ht(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:Kt,modInv:qt,modPow:Jt}=R,Yt=Ge,Xt=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(;!Kt(c);)l++,c>>=1n;let u=2n;for(;Jt(u,s>>1n,s)===1n;)u+=1n;let d=Array(l+1);d[l]=Jt(u,c,s);let f=l-1;for(;f>=0;)d[f]=Jt(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(...Yt.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=qt(g[e],s)*m%s;_.push(...Yt.bigInt2BytesLE(t,a))}let v=e.alloc(_),y=Jt(u,2n,s),b=[],x=[];for(let e=0;e<=l;e++){let t=Jt(y,2n**BigInt(e),s),n=qt(s+1n-t,s);b.push(...Yt.bigInt2BytesLE(t*m%s,a)),x.push(...Yt.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 ee(){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 M(){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 N(){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 P(){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 F(){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 te(){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 I(){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 L(){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))))}M(),ee(),j(),A(),D(),O(),k(),N(),P(),F(),I(),L(),te(),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`)},Zt=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},Qt=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},$t=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)},z=Ge,en=kt,tn=Mt,nn=It,rn=zt,an=Gt,on=Xt,sn=Zt,cn=Qt,ln=$t,{bitLength:un,modInv:dn,isOdd:fn,isNegative:pn}=R,mn=function(e,t){let n=t||`bn128`;if(e.modules[n])return n;let r=21888242871839275222246405745257275088696311157297823662689037894645226208583n,i=21888242871839275222246405745257275088548364400416034343698204186575808495617n,a=Math.floor((un(r-1n)-1)/64)+1,o=a*8,s=o,c=o,l=c*2,u=c*12,d=e.alloc(z.bigInt2BytesLE(i,s)),f=en(e,r,`f1m`);tn(e,i,`fr`,`frm`);let p=e.alloc(z.bigInt2BytesLE(y(3n),c)),m=an(e,`g1m`,`f1m`,p);on(e,`frm`,`frm`,`frm`,`frm_mul`),sn(e,`pol`,`frm`),cn(e,`qap`,`frm`);let h=nn(e,`f1m_neg`,`f2m`,`f1m`),g=e.alloc([...z.bigInt2BytesLE(y(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...z.bigInt2BytesLE(y(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]),_=an(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`),on(e,`g1m`,`g1m`,`frm`,`g1m_timesFr`),v(`g2m_timesFr`,`g2m_timesScalar`),on(e,`g2m`,`g2m`,`frm`,`g2m_timesFr`),v(`g1m_timesFrAffine`,`g1m_timesScalarAffine`),v(`g2m_timesFrAffine`,`g2m_timesScalarAffine`),ln(e,`frm_batchApplyKey`,`fmr`,`frm`,o,o,o,`frm_mul`),ln(e,`g1m_batchApplyKey`,`g1m`,`frm`,o*3,o*3,o,`g1m_timesFr`),ln(e,`g1m_batchApplyKeyMixed`,`g1m`,`frm`,o*2,o*3,o,`g1m_timesFrAffine`),ln(e,`g2m_batchApplyKey`,`g2m`,`frm`,o*2*3,o*3*2,o,`g2m_timesFr`),ln(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([...z.bigInt2BytesLE(y(b[0]),c),...z.bigInt2BytesLE(y(b[1]),c),...z.bigInt2BytesLE(y(b[2]),c)]),S=[0n,1n,0n],C=e.alloc([...z.bigInt2BytesLE(y(S[0]),c),...z.bigInt2BytesLE(y(S[1]),c),...z.bigInt2BytesLE(y(S[2]),c)]),w=[[10857046999023057135944570762232829481370756359578518086990519993285655852781n,11559732032986387107991004021392285783925812861821192530917403151452391805634n],[8495653923123431417604973247489272438418190587263600148770280649306958101930n,4082367875863433681332203403145435568316851327593401208105741076214120093531n],[1n,0n]],T=e.alloc([...z.bigInt2BytesLE(y(w[0][0]),c),...z.bigInt2BytesLE(y(w[0][1]),c),...z.bigInt2BytesLE(y(w[1][0]),c),...z.bigInt2BytesLE(y(w[1][1]),c),...z.bigInt2BytesLE(y(w[2][0]),c),...z.bigInt2BytesLE(y(w[2][1]),c)]),E=[[0n,0n],[1n,0n],[0n,0n]],D=e.alloc([...z.bigInt2BytesLE(y(E[0][0]),c),...z.bigInt2BytesLE(y(E[0][1]),c),...z.bigInt2BytesLE(y(E[1][0]),c),...z.bigInt2BytesLE(y(E[1][1]),c),...z.bigInt2BytesLE(y(E[2][0]),c),...z.bigInt2BytesLE(y(E[2][1]),c)]),O=e.alloc([...z.bigInt2BytesLE(y(1),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c),...z.bigInt2BytesLE(y(0),c)]),k=e.alloc([...z.bigInt2BytesLE(y(9),c),...z.bigInt2BytesLE(y(1),c)]),A=e.alloc([...z.bigInt2BytesLE(y(dn(2n,r)),c),...z.bigInt2BytesLE(0n,c)]),j=k,ee=e.alloc([...z.bigInt2BytesLE(y(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...z.bigInt2BytesLE(y(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]);function M(){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`)))}M();let N=rn(e,n+`_mulNR6`,`f6m`,`f2m`);function P(){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))))}P();let F=nn(e,n+`_mulNR12`,`ftm`,N),te=se(29793968203157093288n),I=e.alloc(te),L=3*l,ne=te.length-1,re=te.reduce((e,t)=>e+(t==0?0:1),0)+ne+1,ie=6*o,ae=3*o*2+re*L;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:ie,preQSize:ae,r:`21888242871839275222246405745257275088548364400416034343698204186575808495617`,q:`21888242871839275222246405745257275088696311157297823662689037894645226208583`};function oe(e){let t=e,n=[];for(;t>0n;){if(fn(t)){let e=2-Number(t%4n);n.push(e),t-=BigInt(e)}else n.push(0);t>>=1n}return n}function se(e){let t=e,n=[];for(;t>0n;)fn(t)?n.push(1):n.push(0),t>>=1n;return n}function ce(){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 le(){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 ue(){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(ee),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 de(){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([...z.bigInt2BytesLE(y(`21575463638280843010398324269430826099269044274347216827212613867836435027261`),c),...z.bigInt2BytesLE(y(`10307601595873709700152284273816112264069230130616436755625194854815875713954`),c)])),p=r.i32_const(e.alloc([...z.bigInt2BytesLE(y(`2821565182194536844548159561693502659359617185244120367078079554186484126554`),c),...z.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 fe(){de();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(te.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(L))),r.if(r.i32_load8_s(r.getLocal(`i`),I),[...r.call(n+`_prepAddStep`,d,o,r.getLocal(`pCoef`)),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(L)))]),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(L))),r.call(n+`_prepAddStep`,v,o,r.getLocal(`pCoef`)),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(L))))}function pe(){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(F+`_mul`,d,s,s))}function me(){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 he(){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(F+`_one`,g),r.setLocal(`pCoef`,r.i32_add(r.getLocal(`ppreQ`),r.i32_const(l*3))),r.setLocal(`i`,r.i32_const(te.length-2)),r.block(r.loop(r.call(F+`_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(L))),r.if(r.i32_load8_s(r.getLocal(`i`),I),[...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(L)))]),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(L))),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(L))))}function ge(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([...z.bigInt2BytesLE(y(v[0]),32),...z.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 pn(s[0])&&(s[0]+=r),s}}function _e(){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(N+`_copy`,a,f),r.call(N+`_neg`,s,p),r.call(F+`_inverse`,i,m),r.call(F+`_mul`,d,m,h),r.call(n+`__frobeniusMap2`,h,g),r.call(F+`_mul`,h,g,c))}function ve(){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 ye(t,r){let i=oe(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(F+`_conjugate`,c,d),s.call(F+`_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(F+`_mul`,l,c,l),s.call(F+`_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(F+`_mul`,l,c,l),s.call(F+`_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 be(){ve(),ye(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(F+`_conjugate`,o,o),r.call(n+`__cyclotomicSquare`,o,s),r.call(n+`__cyclotomicSquare`,s,c),r.call(F+`_mul`,c,s,l),r.call(n+`__cyclotomicExp_w0`,l,d),r.call(F+`_conjugate`,d,d),r.call(n+`__cyclotomicSquare`,d,f),r.call(n+`__cyclotomicExp_w0`,f,p),r.call(F+`_conjugate`,p,p),r.call(F+`_conjugate`,l,m),r.call(F+`_conjugate`,p,h),r.call(F+`_mul`,h,d,g),r.call(F+`_mul`,g,m,_),r.call(F+`_mul`,_,s,v),r.call(F+`_mul`,_,d,y),r.call(F+`_mul`,y,i,b),r.call(n+`__frobeniusMap1`,v,x),r.call(F+`_mul`,x,b,S),r.call(n+`__frobeniusMap2`,_,C),r.call(F+`_mul`,C,S,w),r.call(F+`_conjugate`,i,T),r.call(F+`_mul`,T,v,E),r.call(n+`__frobeniusMap3`,E,D),r.call(F+`_mul`,D,w,a))}function xe(){_e(),be();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 Se(){let t=e.addFunction(n+`_finalExponentiationOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=e.alloc(z.bigInt2BytesLE(552484233613224096312617126783173147097382103762957654188882734314196910839907541213974502761540629817009608548654680343627701153829446747810907373256841551006201639677726139946029199968412598804882391702273019083653272047566316584365559776493027495458238373902875937659943504873220554161550525926302303331747463515644711876653177129578303191095900909191624817826566688241804408081892785725967931714097716709526092261278071952560171111444072049229123565057483750161460024353346284167282452756217662335528813519139808291170539072125381230815729071544861602750936964829313608137325426383735122175229541155376346436093930287402089517426973178917569713384748081827255472576937471496195752727188261435633271238710131736096299798168852925540549342330775279877006784354801422249722573783561685179618816480037695005515426162362431072245638324744480n,352)),i=t.getCodeBuilder();t.addCode(i.call(F+`_exp`,i.getLocal(`x`),i.i32_const(r),i.i32_const(352),i.getLocal(`r`)))}let Ce=e.alloc(ie),we=e.alloc(ae);function Te(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(F+`_one`,a));for(let e=0;e<t;e++)r.addCode(i.call(n+`_prepareG1`,i.getLocal(`p_`+e),i.i32_const(Ce))),r.addCode(i.call(n+`_prepareG2`,i.getLocal(`q_`+e),i.i32_const(we))),r.addCode(i.call(n+`_millerLoop`,i.i32_const(Ce),i.i32_const(we),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 Ee(){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(Ce))),t.addCode(r.call(n+`_prepareG2`,r.getLocal(`q`),r.i32_const(we))),t.addCode(r.call(n+`_millerLoop`,r.i32_const(Ce),r.i32_const(we),i)),t.addCode(r.call(n+`_finalExponentiation`,i,r.getLocal(`r`)))}le(),ue(),ce(),fe(),me(),pe(),he();for(let t=0;t<10;t++)ge(t),e.exportFunction(n+`__frobeniusMap`+t);Se(),xe();for(let t=1;t<=5;t++)Te(t),e.exportFunction(n+`_pairingEq`+t);Ee(),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`)},B=Ge,hn=kt,gn=Mt,_n=It,vn=zt,yn=Gt,bn=Xt,xn=Zt,Sn=Qt,Cn=$t,{bitLength:wn,isOdd:Tn,isNegative:En}=R,Dn=function(e,t){let n=t||`bls12381`;if(e.modules[n])return n;let r=4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787n,i=52435875175126190479447740508185965837690552500527637822603658699938581184513n,a=Math.floor((wn(r-1n)-1)/64)+1,o=a*8,s=o,c=s*2,l=s*12,u=Math.floor((wn(i-1n)-1)/64)+1,d=u*8,f=d,p=e.alloc(B.bigInt2BytesLE(i,f)),m=hn(e,r,`f1m`,`intq`);gn(e,i,`fr`,`frm`,`intr`);let h=e.alloc(B.bigInt2BytesLE(x(4n),s)),g=yn(e,`g1m`,`f1m`,h);bn(e,`frm`,`frm`,`frm`,`frm_mul`),xn(e,`pol`,`frm`),Sn(e,`qap`,`frm`);let _=_n(e,`f1m_neg`,`f2m`,`f1m`),v=e.alloc([...B.bigInt2BytesLE(x(4n),s),...B.bigInt2BytesLE(x(4n),s)]),y=yn(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`),bn(e,`g1m`,`g1m`,`frm`,`g1m_timesFr`),b(`g2m_timesFr`,`g2m_timesScalar`),bn(e,`g2m`,`g2m`,`frm`,`g2m_timesFr`),b(`g1m_timesFrAffine`,`g1m_timesScalarAffine`),b(`g2m_timesFrAffine`,`g2m_timesScalarAffine`),Cn(e,`frm_batchApplyKey`,`fmr`,`frm`,d,d,d,`frm_mul`),Cn(e,`g1m_batchApplyKey`,`g1m`,`frm`,o*3,o*3,d,`g1m_timesFr`),Cn(e,`g1m_batchApplyKeyMixed`,`g1m`,`frm`,o*2,o*3,d,`g1m_timesFrAffine`),Cn(e,`g2m_batchApplyKey`,`g2m`,`frm`,o*2*3,o*3*2,d,`g2m_timesFr`),Cn(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([...B.bigInt2BytesLE(x(S[0]),s),...B.bigInt2BytesLE(x(S[1]),s),...B.bigInt2BytesLE(x(S[2]),s)]),w=[0n,1n,0n],T=e.alloc([...B.bigInt2BytesLE(x(w[0]),s),...B.bigInt2BytesLE(x(w[1]),s),...B.bigInt2BytesLE(x(w[2]),s)]),E=[[352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160n,3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758n],[1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905n,927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582n],[1n,0n]],D=e.alloc([...B.bigInt2BytesLE(x(E[0][0]),s),...B.bigInt2BytesLE(x(E[0][1]),s),...B.bigInt2BytesLE(x(E[1][0]),s),...B.bigInt2BytesLE(x(E[1][1]),s),...B.bigInt2BytesLE(x(E[2][0]),s),...B.bigInt2BytesLE(x(E[2][1]),s)]),O=[[0n,0n],[1n,0n],[0n,0n]],k=e.alloc([...B.bigInt2BytesLE(x(O[0][0]),s),...B.bigInt2BytesLE(x(O[0][1]),s),...B.bigInt2BytesLE(x(O[1][0]),s),...B.bigInt2BytesLE(x(O[1][1]),s),...B.bigInt2BytesLE(x(O[2][0]),s),...B.bigInt2BytesLE(x(O[2][1]),s)]),A=e.alloc([...B.bigInt2BytesLE(x(1n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s),...B.bigInt2BytesLE(x(0n),s)]),j=e.alloc([...B.bigInt2BytesLE(x(1n),s),...B.bigInt2BytesLE(x(1n),s)]);function ee(){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))}ee();let M=vn(e,_+`_mulNR`,`f6m`,`f2m`);function N(){let t=e.addFunction(M+`_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))))}N();let P=_n(e,M+`_mulNR`,`ftm`,M),F=se(15132376222941642752n),te=e.alloc(F),I=3*c,L=F.length-1,ne=F.reduce((e,t)=>e+(t==0?0:1),0)+L+1,re=6*o,ie=3*o*2+ne*I,ae=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:re,preQSize:ie};function oe(e){let t=e,n=[];for(;t>0n;){if(Tn(t)){let e=2-Number(t%4n);n.push(e),t-=BigInt(e)}else n.push(0);t>>=1n}return n}function se(e){let t=e,n=[];for(;t>0n;)Tn(t)?n.push(1):n.push(0),t>>=1n;return n}function ce(){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 le(){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 ue(){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 de(){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(F.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(I))),r.if(r.i32_load8_s(r.getLocal(`i`),te),[...r.call(n+`_prepAddStep`,o,s,r.getLocal(`pCoef`)),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(I)))]),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 fe(){let t=e.addFunction(M+`_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))}fe();function pe(){let t=e.addFunction(M+`_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))}pe();function me(){let t=e.addFunction(P+`_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(M+`_mul01`,r,a,o,l),n.call(M+`_mul1`,i,c,u),n.call(_+`_add`,o,c,d),n.call(M+`_add`,i,r,p),n.call(M+`_mul01`,p,a,d,p),n.call(M+`_sub`,p,l,p),n.call(M+`_sub`,p,u,p),n.call(M+`_copy`,u,f),n.call(M+`_mulNR`,f,f),n.call(M+`_add`,f,l,f))}me();function he(){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(P+`_mul014`,c,p,b,g,c))}he();function ge(){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(P+`_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(F.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(I))),r.if(r.i32_load8_s(r.getLocal(`i`),te),[...r.call(n+`_ell`,i,a,o),...r.setLocal(`pCoef`,r.i32_add(r.getLocal(`pCoef`),r.i32_const(I)))]),r.call(P+`_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(P+`_conjugate`,o,o))}function _e(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(P+`_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([...B.bigInt2BytesLE(x(y[0]),o),...B.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 En(s[0])&&(s[0]+=r),s}}function ve(){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 ye(t,r,i){let a=oe(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(P+`_conjugate`,u,f),c.call(P+`_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(P+`_mul`,d,u,d),c.call(P+`_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(P+`_mul`,d,u,d),c.call(P+`_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(P+`_conjugate`,d,d))}function be(){ve(),ye(ae,!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(P+`_frobeniusMap6`,i,o),r.call(P+`_inverse`,i,s),r.call(P+`_mul`,o,s,c),r.call(P+`_copy`,c,s),r.call(P+`_frobeniusMap2`,c,c),r.call(P+`_mul`,c,s,c),r.call(n+`__cyclotomicSquare`,c,s),r.call(P+`_conjugate`,s,s),r.call(n+`__cyclotomicExp_w0`,c,u),r.call(n+`__cyclotomicSquare`,u,d),r.call(P+`_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(P+`_mul`,p,d,p),r.call(n+`__cyclotomicExp_w0`,p,d),r.call(P+`_conjugate`,f,f),r.call(P+`_mul`,d,f,d),r.call(P+`_mul`,d,c,d),r.call(P+`_conjugate`,c,f),r.call(P+`_mul`,s,c,s),r.call(P+`_frobeniusMap3`,s,s),r.call(P+`_mul`,p,f,p),r.call(P+`_frobeniusMap1`,p,p),r.call(P+`_mul`,u,o,u),r.call(P+`_frobeniusMap2`,u,u),r.call(P+`_mul`,u,s,u),r.call(P+`_mul`,u,p,u),r.call(P+`_mul`,u,d,a))}function xe(){let t=e.addFunction(n+`_finalExponentiationOld`);t.addParam(`x`,`i32`),t.addParam(`r`,`i32`);let r=e.alloc(B.bigInt2BytesLE(322277361516934140462891564586510139908379969514828494218366688025288661041104682794998680497580008899973249814104447692778988208376779573819485263026159588510513834876303014016798809919343532899164848730280942609956670917565618115867287399623286813270357901731510188149934363360381614501334086825442271920079363289954510565375378443704372994881406797882676971082200626541916413184642520269678897559532260949334760604962086348898118982248842634379637598665468817769075878555493752214492790122785850202957575200176084204422751485957336465472324810982833638490904279282696134323072515220044451592646885410572234451732790590013479358343841220074174848221722017083597872017638514103174122784843925578370430843522959600095676285723737049438346544753168912974976791528535276317256904336520179281145394686565050419250614107803233314658825463117900250701199181529205942363159325765991819433914303908860460720581408201373164047773794825411011922305820065611121544561808414055302212057471395719432072209245600258134364584636810093520285711072578721435517884103526483832733289802426157301542744476740008494780363354305116978805620671467071400711358839553375340724899735460480144599782014906586543813292157922220645089192130209334926661588737007768565838519456601560804957985667880395221049249803753582637708560n,544)),i=t.getCodeBuilder();t.addCode(i.call(P+`_exp`,i.getLocal(`x`),i.i32_const(r),i.i32_const(544),i.getLocal(`r`)))}let Se=e.alloc(re),Ce=e.alloc(ie);function we(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(P+`_one`,a));for(let e=0;e<t;e++)r.addCode(i.call(n+`_prepareG1`,i.getLocal(`p_`+e),i.i32_const(Se))),r.addCode(i.call(n+`_prepareG2`,i.getLocal(`q_`+e),i.i32_const(Ce))),r.addCode(i.if(i.i32_eqz(i.call(g+`_inGroupAffine`,i.i32_const(Se))),i.ret(i.i32_const(0))),i.if(i.i32_eqz(i.call(y+`_inGroupAffine`,i.i32_const(Ce))),i.ret(i.i32_const(0)))),r.addCode(i.call(n+`_millerLoop`,i.i32_const(Se),i.i32_const(Ce),o)),r.addCode(i.call(P+`_mul`,a,o,a));r.addCode(i.call(n+`_finalExponentiation`,a,a)),r.addCode(i.call(P+`_eq`,a,i.getLocal(`c`)))}function Te(){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(Se))),t.addCode(r.call(n+`_prepareG2`,r.getLocal(`q`),r.i32_const(Ce))),t.addCode(r.call(n+`_millerLoop`,r.i32_const(Se),r.i32_const(Ce),i)),t.addCode(r.call(n+`_finalExponentiation`,i,r.getLocal(`r`)))}function Ee(){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([...B.bigInt2BytesLE(x(r[0]),o),...B.bigInt2BytesLE(x(r[1]),o)])),l=n.i32_const(e.alloc(B.bigInt2BytesLE(x(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),o))),u=n.i32_const(e.alloc([...B.bigInt2BytesLE(x(i[0]),o),...B.bigInt2BytesLE(x(i[1]),o)])),d=n.i32_const(e.alloc(B.bigInt2BytesLE(ae,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),ee=n.i32_const(k),M=n.i32_const(k+s),N=n.i32_const(k+c),P=n.i32_const(k+c),F=n.i32_const(k+c+s),te=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,N),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`,ee,M,h),n.call(m+`_sub`,ee,M,M),n.call(m+`_copy`,h,ee),n.call(m+`_sub`,F,P,h),n.call(m+`_add`,P,F,F),n.call(m+`_copy`,h,P),n.call(_+`_one`,te),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 I=e.addFunction(y+`_inGroup`);I.addParam(`pIn`,`i32`),I.setReturnType(`i32`);let L=I.getCodeBuilder(),ne=L.i32_const(e.alloc(c*2));I.addCode(L.call(y+`_toAffine`,L.getLocal(`pIn`),ne),L.ret(L.call(y+`_inGroupAffine`,ne)))}function De(){let t=e.addFunction(g+`_inGroupAffine`);t.addParam(`p`,`i32`),t.setReturnType(`i32`);let n=t.getCodeBuilder(),r=(ae*ae-1n)/3n,i=n.i32_const(e.alloc(B.bigInt2BytesLE(x(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),o))),a=n.i32_const(e.alloc(B.bigInt2BytesLE(x(793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n),o))),c=n.i32_const(e.alloc(B.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++)_e(t),e.exportFunction(P+`_frobeniusMap`+t);De(),Ee(),ue(),le(),ce(),de(),ge(),xe(),be();for(let t=1;t<=5;t++)we(t),e.exportFunction(n+`_pairingEq`+t);Te(),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(M+`_mul1`),e.exportFunction(M+`_mul01`),e.exportFunction(P+`_mul014`),e.exportFunction(g+`_inGroupAffine`),e.exportFunction(g+`_inGroup`),e.exportFunction(y+`_inGroupAffine`),e.exportFunction(y+`_inGroup`)},On=mn,kn=Dn;function An(e){if(typeof e==`bigint`||e.eq!==void 0)return e.toString(10);if(e instanceof Uint8Array)return ge(e,0);if(Array.isArray(e))return e.map(An);if(typeof e==`object`){let t={};return Object.keys(e).forEach(n=>{t[n]=An(e[n])}),t}else return e}function jn(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(jn);if(typeof e==`object`){if(e===null)return null;let t={};return Object.keys(e).forEach(n=>{t[n]=jn(e[n])}),t}else return e}function Mn(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 Nn(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 Pn(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 Fn(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 In(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(In.bind(this,e));if(typeof t==`object`){let n={};return Object.keys(t).forEach(r=>{n[r]=In(e,t[r])}),n}else return t}function Ln(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(Ln.bind(this,e));if(typeof t==`object`){if(t===null)return null;let n={};return Object.keys(t).forEach(r=>{n[r]=Ln(e,t[r])}),n}else return t}var Rn=[];for(let e=0;e<256;e++)Rn[e]=zn(e,8);function zn(e,t){let n=0,r=e;for(let e=0;e<t;e++)n<<=1,n|=r&1,r>>=1;return n}function Bn(e,t){return(Rn[e>>>24]|Rn[e>>>16&255]<<8|Rn[e>>>8&255]<<16|Rn[e&255]<<24)>>>32-t}function V(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 Vn(e,t){let n=e.byteLength/t,r=V(n);if(n!=1<<r)throw Error(`Invalid number of pointers`);for(let i=0;i<n;i++){let n=Bn(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 Hn(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 Un(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 Wn=Object.freeze({__proto__:null,array2buffer:Hn,beBuff2int:Mn,beInt2Buff:Nn,bitReverse:Bn,buffReverseBits:Vn,buffer2array:Un,leBuff2int:Pn,leInt2Buff:Fn,log2:V,stringifyBigInts:An,stringifyFElements:In,unstringifyBigInts:jn,unstringifyFElements:Ln}),H=1<<30,U=class e{constructor(e){this.buffers=[],this.byteLength=e;for(let t=0;t<e;t+=H){let n=Math.min(e-t,H);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/H);if(i==Math.floor((t+r-1)/H)||r==0)return this.buffers[i].slice(t%H,t%H+r);let a,o=i,s=t%H,c=r;for(;c>0;){let t=s+c>H?H-s:c,n=new Uint8Array(this.buffers[o].buffer,this.buffers[o].byteOffset+s,t);if(t==r)return n.slice();a||=r<=H?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/H);if(i==Math.floor((n+r-1)/H))return t instanceof e&&t.buffers.length==1?this.buffers[i].set(t.buffers[0],n%H):this.buffers[i].set(t,n%H);let a=i,o=n%H,s=r;for(;s>0;){let e=o+s>H?H-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 Gn(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 U?new U(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 Kn=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,xe),this.bitLength=v(r),this.mask=j(x(xe,this.bitLength),xe),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,xe),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,xe);for(;!T(a);)this.s+=1,a=S(a,xe);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=Gn(e,t+`_batchToMontgomery`,this.n8,this.n8),this.batchFromMontgomery=Gn(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=ye(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=ee(n),ae(n,this.p)&&(n=L(n,this.p)),n=j(this.p,n)):ae(n,this.p)&&(n=L(n,this.p));let r=Fn(n,this.n8);return this.toMontgomery(r)}toString(e,t){return ve(ge(this.fromMontgomery(e),0),t)}fromRng(e){let t,n=new Uint8Array(this.n8);do{t=be;for(let n=0;n<this.n64;n++)t=A(t,x(e.nextU64(),64*n));t=ce(t,this.mask)}while(se(t,this.p));return me(n,0,t,this.n8),n}random(){return this.fromRng(Be())}toObject(e){return ge(this.fromMontgomery(e),0)}fromObject(e){let t=new Uint8Array(this.n8);return me(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=Hn(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 U?new U(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?Un(c,r):c}},qn=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=ye(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(Be())}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)}},Jn=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=ye(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(Be())}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)}},Yn=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=ye(a)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=Gn(e,t+`_batchLEMtoC`,n.n8*2,n.n8),this.batchLEMtoU=Gn(e,t+`_batchLEMtoU`,n.n8*2,n.n8*2),this.batchCtoLEM=Gn(e,t+`_batchCtoLEM`,n.n8,n.n8*2),this.batchUtoLEM=Gn(e,t+`_batchUtoLEM`,n.n8*2,n.n8*2),this.batchToJacobian=Gn(e,t+`_batchToJacobian`,n.n8*2,n.n8*3),this.batchToAffine=Gn(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=ye(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 Xn(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 Zn=25,Qn=class{constructor(){this.promise=new Promise((e,t)=>{this.reject=t,this.resolve=e})}};function $n(e){return new Promise(t=>setTimeout(t,e))}var er,tr=`(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(tr),t=new Blob([e],{type:`application/javascript`});er=URL.createObjectURL(t)}else er=`data:application/javascript;base64,`+globalThis.btoa(tr);async function nr(e,t){let n=new rr;n.memory=new WebAssembly.Memory({initial:Zn}),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=Xn(),await n.taskManager([{cmd:`INIT`,init:Zn,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(er),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:Zn,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 rr=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 Qn,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 Qn;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 $n(200)}};function ir(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 U?new U(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 ar(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 or=[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 sr(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=or[V(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=or[V(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 cr(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=Hn(e,f),b=!0):e=e.slice(0,e.byteLength);let x=e.byteLength/f,S=V(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?Un(t,m):t}let C;a&&(C=r.inv(r.e(x)));let w;Vn(e,f);let T,E=Math.min(16384,x),D=x/E;for(;D<i.concurrency&&E>=16;)D*=2,E/=2;let O=V(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 U?new U(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?Un(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 U(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 U(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<<V(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 U(b*_),T=new U(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=V(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 U(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=V(c),u=1<<V(i.concurrency);c<=u*2&&(u=1);let d=c/u,f=V(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 U?new U(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<<V(u))throw Error(`Invalid number of points`);let d=1<<V(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 U?(h=new U(u*c),g=new U(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<<V(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 U?new U(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 lr(e){let t=await nr(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 Kn(t,`frm`,e.n8r,e.r),n.F1=new Kn(t,`f1m`,e.n8q,e.q),n.F2=new qn(t,`f2m`,n.F1),n.G1=new Yn(t,`g1m`,n.F1,e.wasm.pG1gen,e.wasm.pG1b,e.cofactorG1),n.G2=new Yn(t,`g2m`,n.F2,e.wasm.pG2gen,e.wasm.pG2b,e.cofactorG2),n.F6=new Jn(t,`f6m`,n.F2),n.F12=new qn(t,`ftm`,n.F6),n.Gt=n.F12,ir(n,`G1`),ir(n,`G2`),ir(n,`Fr`),sr(n,`G1`),sr(n,`G2`),cr(n,`G1`),cr(n,`G2`),cr(n,`Fr`),ar(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 ur(e){return BigInt(e)}function dr(e){return e<0n}function fr(e){return e===0n}function pr(e){return dr(e)?e.toString(2).length-1:e.toString(2).length}function mr(e){let t=[],n=ur(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 hr(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 gr(e){let t=hr(e);return[...W(t.length),...t]}function _r(e){let t=[],n=ur(e);if(dr(n))throw Error(`Number cannot be negative`);for(;!fr(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 vr(e){let t,n,r=pr(e);e<0?(n=!0,t=(1n<<BigInt(r))+e):(n=!1,t=ur(e));let i=7-r%7,a=(1n<<BigInt(i))-1n<<BigInt(r),o=(1<<7-i)-1|128,s=_r(t+a);return n||(s[s.length-1]=s[s.length-1]&o),s}function yr(e){let t=ur(e);if(t>4294967295n)throw Error(`Number too big`);if(t>2147483647n&&(t-=4294967296n),t<-2147483648n)throw Error(`Number too small`);return vr(t)}function br(e){let t=ur(e);if(t>18446744073709551615n)throw Error(`Number too big`);if(t>9223372036854775807n&&(t-=18446744073709551616n),t<-9223372036854775808n)throw Error(`Number too small`);return vr(t)}function W(e){let t=ur(e);if(t>4294967295n)throw Error(`Number too big`);return _r(t)}function xr(e){return Array.from(e,function(e){return(`0`+(e&255).toString(16)).slice(-2)}).join(``)}var Sr=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,...W(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,...W(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,...W(t)]}i64_load8_s(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,48,i,...W(r)]}i64_load8_u(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,49,i,...W(r)]}i64_load16_s(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,50,i,...W(r)]}i64_load16_u(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,51,i,...W(r)]}i64_load32_s(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,52,i,...W(r)]}i64_load32_u(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,53,i,...W(r)]}i64_load(e,t,n){let r=t||0,i=n===void 0?3:n;return[...e,41,i,...W(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,...W(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,...W(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,...W(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,...W(i)]}i32_load8_s(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,44,i,...W(r)]}i32_load8_u(e,t,n){let r=t||0,i=n===void 0?0:n;return[...e,45,i,...W(r)]}i32_load16_s(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,46,i,...W(r)]}i32_load16_u(e,t,n){let r=t||0,i=n===void 0?1:n;return[...e,47,i,...W(r)]}i32_load(e,t,n){let r=t||0,i=n===void 0?2:n;return[...e,40,i,...W(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,...W(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,...W(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,...W(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,...W(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,...W(e)]}br(e){return[12,...W(e)]}ret(e){return[...e,15]}drop(e){return[...e,26]}i64_const(e){return[66,...br(e)]}i32_const(e){return[65,...yr(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[]}},Cr={i32:127,i64:126,f32:125,f64:124,anyfunc:112,func:96,emptyblock:64},wr=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=[...W(this.params.length),...this.params.map(e=>Cr[e.type])],t=this.returnType?[1,Cr[this.returnType]]:[0];return[96,...e,...t]}getBody(){let e=this.locals.map(e=>[...W(e.length),Cr[e.type]]),t=[...W(this.locals.length),...[].concat(...e),...this.code,11];return[...W(t.length),...t]}addCode(...e){this.code.push(...[].concat(...e))}getCodeBuilder(){return new Sr(this)}},Tr=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([...mr(1836278016),...mr(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 wr(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 wr(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_`+xr(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_`+xr(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,...W(t.length),...t]}_buildType(){return this._buildSection(1,[...W(this.signatures.length),...[].concat(...this.signatures)])}_buildImport(){let e=[];e.push([...gr(this.memory.moduleName),...gr(this.memory.fieldName),2,0,...W(this.memory.pagesSize)]);for(let t=0;t<this.nImportFunctions;t++)e.push([...gr(this.functions[t].moduleName),...gr(this.functions[t].fieldName),0,...W(this.functions[t].signatureIdx)]);return this._buildSection(2,W(e.length).concat(...e))}_buildFunctionDeclarations(){let e=[];for(let t=this.nImportFunctions;t<this.nImportFunctions+this.nInternalFunctions;t++)e.push(...W(this.functions[t].signatureIdx));return this._buildSection(3,[...W(e.length),...[...e]])}_buildFunctionsTable(){return this.functionsTable.length==0?[]:this._buildSection(4,[...W(1),112,0,...W(this.functionsTable.length)])}_buildElements(){if(this.functionsTable.length==0)return[];let e=[];for(let t=0;t<this.functionsTable.length;t++)e.push(...W(this.functionsTable[t]));return this._buildSection(9,[...W(1),...W(0),65,...yr(0),11,...W(this.functionsTable.length),...[...e]])}_buildExports(){let e=[];for(let t=0;t<this.exports.length;t++)e.push([...gr(this.exports[t].exportName),0,...W(this.exports[t].idx)]);return this._buildSection(7,W(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,W(e.length).concat(...e))}_buildData(){let e=[];e.push([0,65,0,11,4,...mr(this.free)]);for(let t=0;t<this.datas.length;t++)e.push([0,65,...yr(this.datas[t].offset),11,...W(this.datas[t].bytes.length),...this.datas[t].bytes]);return this._buildSection(11,W(e.length).concat(...e))}};globalThis.curve_bn128=null;async function Er(e,t){if(!e&&globalThis.curve_bn128)return globalThis.curve_bn128;let n=new Tr;n.setMemory(25),On(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 lr(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 Dr(e,t){if(!e&&globalThis.curve_bls12381)return globalThis.curve_bls12381;let n=new Tr;n.setMemory(25),kn(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 lr(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 Or(e,t,n){let r,i=a(e);if([`BN128`,`BN254`,`ALTBN128`].indexOf(i)>=0)r=await Er(t,n);else if([`BLS12381`].indexOf(i)>=0)r=await Dr(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 kr=Se,Ar=Wn,jr=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)}})),Mr=(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),Nr=e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?`bigint:${t.toString()}`:t),Pr=e=>JSON.parse(e,(e,t)=>typeof t==`string`&&t.startsWith(`bigint:`)?BigInt(t.slice(7)):t);function Fr(e,t){return function(){return e.apply(t,arguments)}}var{toString:Ir}=Object.prototype,{getPrototypeOf:Lr}=Object,{iterator:Rr,toStringTag:zr}=Symbol,Br=(e=>t=>{let n=Ir.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Vr=e=>(e=e.toLowerCase(),t=>Br(t)===e),Hr=e=>t=>typeof t===e,{isArray:Ur}=Array,Wr=Hr(`undefined`);function Gr(e){return e!==null&&!Wr(e)&&e.constructor!==null&&!Wr(e.constructor)&&G(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Kr=Vr(`ArrayBuffer`);function qr(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&Kr(e.buffer),t}var Jr=Hr(`string`),G=Hr(`function`),Yr=Hr(`number`),Xr=e=>typeof e==`object`&&!!e,Zr=e=>e===!0||e===!1,Qr=e=>{if(Br(e)!==`object`)return!1;let t=Lr(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(zr in e)&&!(Rr in e)},$r=e=>{if(!Xr(e)||Gr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},ei=Vr(`Date`),ti=Vr(`File`),ni=e=>!!(e&&e.uri!==void 0),ri=e=>e&&e.getParts!==void 0,ii=Vr(`Blob`),ai=Vr(`FileList`),oi=e=>Xr(e)&&G(e.pipe);function si(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var ci=si(),li=ci.FormData===void 0?void 0:ci.FormData,ui=e=>{let t;return e&&(li&&e instanceof li||G(e.append)&&((t=Br(e))===`formdata`||t===`object`&&G(e.toString)&&e.toString()===`[object FormData]`))},di=Vr(`URLSearchParams`),[fi,pi,mi,hi]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(Vr),gi=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function _i(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),Ur(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(Gr(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,o;for(r=0;r<a;r++)o=i[r],t.call(null,e[o],o,e)}}function vi(e,t){if(Gr(e))return null;t=t.toLowerCase();let n=Object.keys(e),r=n.length,i;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}var yi=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,bi=e=>!Wr(e)&&e!==yi;function xi(){let{caseless:e,skipUndefined:t}=bi(this)&&this||{},n={},r=(r,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=e&&vi(n,i)||i;Qr(n[a])&&Qr(r)?n[a]=xi(n[a],r):Qr(r)?n[a]=xi({},r):Ur(r)?n[a]=r.slice():(!t||!Wr(r))&&(n[a]=r)};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&_i(arguments[e],r);return n}var Si=(e,t,n,{allOwnKeys:r}={})=>(_i(t,(t,r)=>{n&&G(t)?Object.defineProperty(e,r,{value:Fr(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Ci=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),wi=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,`constructor`,{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,`super`,{value:t.prototype}),n&&Object.assign(e.prototype,n)},Ti=(e,t,n,r)=>{let i,a,o,s={};if(t||={},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&Lr(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ei=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},Di=e=>{if(!e)return null;if(Ur(e))return e;let t=e.length;if(!Yr(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},Oi=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&Lr(Uint8Array)),ki=(e,t)=>{let n=(e&&e[Rr]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},Ai=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},ji=Vr(`HTMLFormElement`),Mi=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),Ni=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Pi=Vr(`RegExp`),Fi=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};_i(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},Ii=e=>{Fi(e,(t,n)=>{if(G(e)&&[`arguments`,`caller`,`callee`].indexOf(n)!==-1)return!1;let r=e[n];if(G(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},Li=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return Ur(e)?r(e):r(String(e).split(t)),n},Ri=()=>{},zi=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Bi(e){return!!(e&&G(e.append)&&e[zr]===`FormData`&&e[Rr])}var Vi=e=>{let t=Array(10),n=(e,r)=>{if(Xr(e)){if(t.indexOf(e)>=0)return;if(Gr(e))return e;if(!(`toJSON`in e)){t[r]=e;let i=Ur(e)?[]:{};return _i(e,(e,t)=>{let a=n(e,r+1);!Wr(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},Hi=Vr(`AsyncFunction`),Ui=e=>e&&(Xr(e)||G(e))&&G(e.then)&&G(e.catch),Wi=((e,t)=>e?setImmediate:t?((e,t)=>(yi.addEventListener(`message`,({source:n,data:r})=>{n===yi&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),yi.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,G(yi.postMessage)),K={isArray:Ur,isArrayBuffer:Kr,isBuffer:Gr,isFormData:ui,isArrayBufferView:qr,isString:Jr,isNumber:Yr,isBoolean:Zr,isObject:Xr,isPlainObject:Qr,isEmptyObject:$r,isReadableStream:fi,isRequest:pi,isResponse:mi,isHeaders:hi,isUndefined:Wr,isDate:ei,isFile:ti,isReactNativeBlob:ni,isReactNative:ri,isBlob:ii,isRegExp:Pi,isFunction:G,isStream:oi,isURLSearchParams:di,isTypedArray:Oi,isFileList:ai,forEach:_i,merge:xi,extend:Si,trim:gi,stripBOM:Ci,inherits:wi,toFlatObject:Ti,kindOf:Br,kindOfTest:Vr,endsWith:Ei,toArray:Di,forEachEntry:ki,matchAll:Ai,isHTMLForm:ji,hasOwnProperty:Ni,hasOwnProp:Ni,reduceDescriptors:Fi,freezeMethods:Ii,toObjectSet:Li,toCamelCase:Mi,noop:Ri,toFiniteNumber:zi,findKey:vi,global:yi,isContextDefined:bi,isSpecCompliantForm:Bi,toJSONObject:Vi,isAsyncFn:Hi,isThenable:Ui,setImmediate:Wi,asap:typeof queueMicrotask<`u`?queueMicrotask.bind(yi):typeof process<`u`&&process.nextTick||Wi,isIterable:e=>e!=null&&G(e[Rr])},q=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,`message`,{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.status}}};q.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,q.ERR_BAD_OPTION=`ERR_BAD_OPTION`,q.ECONNABORTED=`ECONNABORTED`,q.ETIMEDOUT=`ETIMEDOUT`,q.ERR_NETWORK=`ERR_NETWORK`,q.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,q.ERR_DEPRECATED=`ERR_DEPRECATED`,q.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,q.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,q.ERR_CANCELED=`ERR_CANCELED`,q.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,q.ERR_INVALID_URL=`ERR_INVALID_URL`;function Gi(e){return K.isPlainObject(e)||K.isArray(e)}function Ki(e){return K.endsWith(e,`[]`)?e.slice(0,-2):e}function qi(e,t,n){return e?e.concat(t).map(function(e,t){return e=Ki(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function Ji(e){return K.isArray(e)&&!e.some(Gi)}var Yi=K.toFlatObject(K,{},null,function(e){return/^is[A-Z]/.test(e)});function Xi(e,t,n){if(!K.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=K.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!K.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||l,a=n.dots,o=n.indexes,s=(n.Blob||typeof Blob<`u`&&Blob)&&K.isSpecCompliantForm(t);if(!K.isFunction(i))throw TypeError(`visitor must be a function`);function c(e){if(e===null)return``;if(K.isDate(e))return e.toISOString();if(K.isBoolean(e))return e.toString();if(!s&&K.isBlob(e))throw new q(`Blob is not supported. Use a Buffer instead.`);return K.isArrayBuffer(e)||K.isTypedArray(e)?s&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function l(e,n,i){let s=e;if(K.isReactNative(t)&&K.isReactNativeBlob(e))return t.append(qi(i,n,a),c(e)),!1;if(e&&!i&&typeof e==`object`){if(K.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(K.isArray(e)&&Ji(e)||(K.isFileList(e)||K.endsWith(n,`[]`))&&(s=K.toArray(e)))return n=Ki(n),s.forEach(function(e,r){!(K.isUndefined(e)||e===null)&&t.append(o===!0?qi([n],r,a):o===null?n:n+`[]`,c(e))}),!1}return Gi(e)?!0:(t.append(qi(i,n,a),c(e)),!1)}let u=[],d=Object.assign(Yi,{defaultVisitor:l,convertValue:c,isVisitable:Gi});function f(e,n){if(!K.isUndefined(e)){if(u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),K.forEach(e,function(e,r){(!(K.isUndefined(e)||e===null)&&i.call(t,e,K.isString(r)?r.trim():r,n,d))===!0&&f(e,n?n.concat(r):[r])}),u.pop()}}if(!K.isObject(e))throw TypeError(`data must be an object`);return f(e),t}function Zi(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`,"%00":`\0`};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function Qi(e,t){this._pairs=[],e&&Xi(e,this,t)}var $i=Qi.prototype;$i.append=function(e,t){this._pairs.push([e,t])},$i.toString=function(e){let t=e?function(t){return e.call(this,t,Zi)}:Zi;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function ea(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function ta(e,t,n){if(!t)return e;let r=n&&n.encode||ea,i=K.isFunction(n)?{serialize:n}:n,a=i&&i.serialize,o;if(o=a?a(t,i):K.isURLSearchParams(t)?t.toString():new Qi(t,i).toString(r),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var na=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){K.forEach(this.handlers,function(t){t!==null&&e(t)})}},ra={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},ia={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:Qi,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},aa=c({hasBrowserEnv:()=>oa,hasStandardBrowserEnv:()=>ca,hasStandardBrowserWebWorkerEnv:()=>la,navigator:()=>sa,origin:()=>ua}),oa=typeof window<`u`&&typeof document<`u`,sa=typeof navigator==`object`&&navigator||void 0,ca=oa&&(!sa||[`ReactNative`,`NativeScript`,`NS`].indexOf(sa.product)<0),la=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,ua=oa&&window.location.href||`http://localhost`,J={...aa,...ia};function da(e,t){return Xi(e,new J.classes.URLSearchParams,{visitor:function(e,t,n,r){return J.isNode&&K.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function fa(e){return K.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function pa(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r<i;r++)a=n[r],t[a]=e[a];return t}function ma(e){function t(e,n,r,i){let a=e[i++];if(a===`__proto__`)return!0;let o=Number.isFinite(+a),s=i>=e.length;return a=!a&&K.isArray(r)?r.length:a,s?(K.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!o):((!r[a]||!K.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&K.isArray(r[a])&&(r[a]=pa(r[a])),!o)}if(K.isFormData(e)&&K.isFunction(e.entries)){let n={};return K.forEachEntry(e,(e,r)=>{t(fa(e),r,n,0)}),n}return null}function ha(e,t,n){if(K.isString(e))try{return(t||JSON.parse)(e),K.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var ga={transitional:ra,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=K.isObject(e);if(i&&K.isHTMLForm(e)&&(e=new FormData(e)),K.isFormData(e))return r?JSON.stringify(ma(e)):e;if(K.isArrayBuffer(e)||K.isBuffer(e)||K.isStream(e)||K.isFile(e)||K.isBlob(e)||K.isReadableStream(e))return e;if(K.isArrayBufferView(e))return e.buffer;if(K.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return da(e,this.formSerializer).toString();if((a=K.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let t=this.env&&this.env.FormData;return Xi(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(`application/json`,!1),ha(e)):e}],transformResponse:[function(e){let t=this.transitional||ga.transitional,n=t&&t.forcedJSONParsing,r=this.responseType===`json`;if(K.isResponse(e)||K.isReadableStream(e))return e;if(e&&K.isString(e)&&(n&&!this.responseType||r)){let n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n)throw e.name===`SyntaxError`?q.from(e,q.ERR_BAD_RESPONSE,this,null,this.response):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:J.classes.FormData,Blob:J.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};K.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`],e=>{ga.headers[e]={}});var _a=K.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),va=e=>{let t={},n,r,i;return e&&e.split(`
|
|
121
|
+
`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&_a[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t},ya=Symbol(`internals`),ba=e=>!/[\r\n]/.test(e);function xa(e,t){if(!(e===!1||e==null)){if(K.isArray(e)){e.forEach(e=>xa(e,t));return}if(!ba(String(e)))throw Error(`Invalid character in header content ["${t}"]`)}}function Sa(e){return e&&String(e).trim().toLowerCase()}function Ca(e){let t=e.length;for(;t>0;){let n=e.charCodeAt(t-1);if(n!==10&&n!==13)break;--t}return t===e.length?e:e.slice(0,t)}function wa(e){return e===!1||e==null?e:K.isArray(e)?e.map(wa):Ca(String(e))}function Ta(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var Ea=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Da(e,t,n,r,i){if(K.isFunction(r))return r.call(this,t,n);if(i&&(t=n),K.isString(t)){if(K.isString(r))return t.indexOf(r)!==-1;if(K.isRegExp(r))return r.test(t)}}function Oa(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function ka(e,t){let n=K.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var Y=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=Sa(t);if(!i)throw Error(`header name must be a non-empty string`);let a=K.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(xa(e,t),r[a||t]=wa(e))}let a=(e,t)=>K.forEach(e,(e,n)=>i(e,n,t));if(K.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(K.isString(e)&&(e=e.trim())&&!Ea(e))a(va(e),t);else if(K.isObject(e)&&K.isIterable(e)){let n={},r,i;for(let t of e){if(!K.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);n[i=t[0]]=(r=n[i])?K.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=Sa(e),e){let n=K.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return Ta(e);if(K.isFunction(t))return t.call(this,e,n);if(K.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=Sa(e),e){let n=K.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||Da(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=Sa(e),e){let i=K.findKey(n,e);i&&(!t||Da(n,n[i],i,t))&&(delete n[i],r=!0)}}return K.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||Da(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return K.forEach(this,(r,i)=>{let a=K.findKey(n,i);if(a){t[a]=wa(r),delete t[i];return}let o=e?Oa(i):String(i).trim();o!==i&&delete t[i],t[o]=wa(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return K.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&K.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(`
|
|
122
|
+
`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[ya]=this[ya]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=Sa(e);t[r]||(ka(n,e),t[r]=!0)}return K.isArray(e)?e.forEach(r):r(e),this}};Y.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),K.reduceDescriptors(Y.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),K.freezeMethods(Y);function Aa(e,t){let n=this||ga,r=t||n,i=Y.from(r.headers),a=r.data;return K.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function ja(e){return!!(e&&e.__CANCEL__)}var Ma=class extends q{constructor(e,t,n){super(e??`canceled`,q.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function Na(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new q(`Request failed with status code `+n.status,[q.ERR_BAD_REQUEST,q.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Pa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||``}function Fa(e,t){e||=10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||=c,n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o<t)return;let f=l&&c-l;return f?Math.round(d*1e3/f):void 0}}function Ia(e,t){let n=0,r=1e3/t,i,a,o=(t,r=Date.now())=>{n=r,i=null,a&&=(clearTimeout(a),null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||=setTimeout(()=>{a=null,o(i)},r-s))},()=>i&&o(i)]}var La=(e,t,n=3)=>{let r=0,i=Fa(50,250);return Ia(n=>{let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=a-r,c=i(s),l=a<=o;r=a,e({loaded:a,total:o,progress:o?a/o:void 0,bytes:s,rate:c||void 0,estimated:c&&o&&l?(o-a)/c:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},Ra=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},za=e=>(...t)=>K.asap(()=>e(...t)),Ba=J.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,J.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(J.origin),J.navigator&&/(msie|trident)/i.test(J.navigator.userAgent)):()=>!0,Va=J.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];K.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),K.isString(r)&&s.push(`path=${r}`),K.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),K.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.match(RegExp(`(?:^|; )`+e+`=([^;]*)`));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,``,Date.now()-864e5,`/`)}}:{write(){},read(){return null},remove(){}};function Ha(e){return typeof e==`string`?/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e):!1}function Ua(e,t){return t?e.replace(/\/?\/$/,``)+`/`+t.replace(/^\/+/,``):e}function Wa(e,t,n){let r=!Ha(t);return e&&(r||n==0)?Ua(e,t):t}var Ga=e=>e instanceof Y?{...e}:e;function Ka(e,t){t||={};let n={};function r(e,t,n,r){return K.isPlainObject(e)&&K.isPlainObject(t)?K.merge.call({caseless:r},e,t):K.isPlainObject(t)?K.merge({},t):K.isArray(t)?t.slice():t}function i(e,t,n,i){if(!K.isUndefined(t))return r(e,t,n,i);if(!K.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!K.isUndefined(t))return r(void 0,t)}function o(e,t){if(!K.isUndefined(t))return r(void 0,t);if(!K.isUndefined(e))return r(void 0,e)}function s(n,i,a){if(a in t)return r(n,i);if(a in e)return r(void 0,n)}let c={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(e,t,n)=>i(Ga(e),Ga(t),n,!0)};return K.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=K.hasOwnProp(c,r)?c[r]:i,o=a(e[r],t[r],r);K.isUndefined(o)&&a!==s||(n[r]=o)}),n}var qa=e=>{let t=Ka({},e),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:a,headers:o,auth:s}=t;if(t.headers=o=Y.from(o),t.url=ta(Wa(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set(`Authorization`,`Basic `+btoa((s.username||``)+`:`+(s.password?unescape(encodeURIComponent(s.password)):``))),K.isFormData(n)){if(J.hasStandardBrowserEnv||J.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(K.isFunction(n.getHeaders)){let e=n.getHeaders(),t=[`content-type`,`content-length`];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&o.set(e,n)})}}if(J.hasStandardBrowserEnv&&(r&&K.isFunction(r)&&(r=r(t)),r||r!==!1&&Ba(t.url))){let e=i&&a&&Va.read(a);e&&o.set(i,e)}return t},Ja=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=qa(e),i=r.data,a=Y.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=Y.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());Na(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf(`file:`)===0)||setTimeout(g)},h.onabort=function(){h&&=(n(new q(`Request aborted`,q.ECONNABORTED,e,h)),null)},h.onerror=function(t){let r=new q(t&&t.message?t.message:`Network Error`,q.ERR_NETWORK,e,h);r.event=t||null,n(r),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||ra;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new q(t,i.clarifyTimeoutError?q.ETIMEDOUT:q.ECONNABORTED,e,h)),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&K.forEach(a.toJSON(),function(e,t){h.setRequestHeader(t,e)}),K.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=La(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=La(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&=(n(!t||t.type?new Ma(null,e,h):t),h.abort(),null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=Pa(r.url);if(_&&J.protocols.indexOf(_)===-1){n(new q(`Unsupported protocol `+_+`:`,q.ERR_BAD_REQUEST,e));return}h.send(i||null)})},Ya=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n=new AbortController,r,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof q?t:new Ma(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new q(`timeout of ${t}ms exceeded`,q.ETIMEDOUT))},t),o=()=>{e&&=(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),null)};e.forEach(e=>e.addEventListener(`abort`,i));let{signal:s}=n;return s.unsubscribe=()=>K.asap(o),s}},Xa=function*(e,t){let n=e.byteLength;if(!t||n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},Za=async function*(e,t){for await(let n of Qa(e))yield*Xa(n,t)},Qa=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}},$a=(e,t,n,r)=>{let i=Za(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})},eo=64*1024,{isFunction:to}=K,no=(({Request:e,Response:t})=>({Request:e,Response:t}))(K.global),{ReadableStream:ro,TextEncoder:io}=K.global,ao=(e,...t)=>{try{return!!e(...t)}catch{return!1}},oo=e=>{e=K.merge.call({skipUndefined:!0},no,e);let{fetch:t,Request:n,Response:r}=e,i=t?to(t):typeof fetch==`function`,a=to(n),o=to(r);if(!i)return!1;let s=i&&to(ro),c=i&&(typeof io==`function`?(e=>t=>e.encode(t))(new io):async e=>new Uint8Array(await new n(e).arrayBuffer())),l=a&&s&&ao(()=>{let e=!1,t=new ro,r=new n(J.origin,{body:t,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`);return t.cancel(),e&&!r}),u=o&&s&&ao(()=>K.isReadableStream(new r(``).body)),d={stream:u&&(e=>e.body)};i&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new q(`Response type '${e}' is not supported`,q.ERR_NOT_SUPPORT,n)})});let f=async e=>{if(e==null)return 0;if(K.isBlob(e))return e.size;if(K.isSpecCompliantForm(e))return(await new n(J.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(K.isArrayBufferView(e)||K.isArrayBuffer(e))return e.byteLength;if(K.isURLSearchParams(e)&&(e+=``),K.isString(e))return(await c(e)).byteLength},p=async(e,t)=>K.toFiniteNumber(e.getContentLength())??f(t);return async e=>{let{url:i,method:o,data:s,signal:c,cancelToken:f,timeout:m,onDownloadProgress:h,onUploadProgress:g,responseType:_,headers:v,withCredentials:y=`same-origin`,fetchOptions:b}=qa(e),x=t||fetch;_=_?(_+``).toLowerCase():`text`;let S=Ya([c,f&&f.toAbortSignal()],m),C=null,w=S&&S.unsubscribe&&(()=>{S.unsubscribe()}),T;try{if(g&&l&&o!==`get`&&o!==`head`&&(T=await p(v,s))!==0){let e=new n(i,{method:`POST`,body:s,duplex:`half`}),t;if(K.isFormData(s)&&(t=e.headers.get(`content-type`))&&v.setContentType(t),e.body){let[t,n]=Ra(T,La(za(g)));s=$a(e.body,eo,t,n)}}K.isString(y)||(y=y?`include`:`omit`);let t=a&&`credentials`in n.prototype,c={...b,signal:S,method:o.toUpperCase(),headers:v.normalize().toJSON(),body:s,duplex:`half`,credentials:t?y:void 0};C=a&&new n(i,c);let f=await(a?x(C,b):x(i,c)),m=u&&(_===`stream`||_===`response`);if(u&&(h||m&&w)){let e={};[`status`,`statusText`,`headers`].forEach(t=>{e[t]=f[t]});let t=K.toFiniteNumber(f.headers.get(`content-length`)),[n,i]=h&&Ra(t,La(za(h),!0))||[];f=new r($a(f.body,eo,n,()=>{i&&i(),w&&w()}),e)}_||=`text`;let E=await d[K.findKey(d,_)||`text`](f,e);return!m&&w&&w(),await new Promise((t,n)=>{Na(t,n,{data:E,headers:Y.from(f.headers),status:f.status,statusText:f.statusText,config:e,request:C})})}catch(t){throw w&&w(),t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new q(`Network Error`,q.ERR_NETWORK,e,C,t&&t.response),{cause:t.cause||t}):q.from(t,t&&t.code,e,C,t&&t.response)}}},so=new Map,co=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=so;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:oo(t)),l=c;return c};co();var lo={http:null,xhr:Ja,fetch:{get:co}};K.forEach(lo,(e,t)=>{if(e){try{Object.defineProperty(e,`name`,{value:t})}catch{}Object.defineProperty(e,`adapterName`,{value:t})}});var uo=e=>`- ${e}`,fo=e=>K.isFunction(e)||e===null||e===!1;function po(e,t){e=K.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o<n;o++){r=e[o];let n;if(i=r,!fo(r)&&(i=lo[(n=String(r)).toLowerCase()],i===void 0))throw new q(`Unknown adapter '${n}'`);if(i&&(K.isFunction(i)||(i=i.get(t))))break;a[n||`#`+o]=i}if(!i){let e=Object.entries(a).map(([e,t])=>`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new q(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since :
|
|
123
|
+
`+e.map(uo).join(`
|
|
124
|
+
`):` `+uo(e[0]):`as no adapter specified`),`ERR_NOT_SUPPORT`)}return i}var mo={getAdapter:po,adapters:lo};function ho(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ma(null,e)}function go(e){return ho(e),e.headers=Y.from(e.headers),e.data=Aa.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),mo.getAdapter(e.adapter||ga.adapter,e)(e).then(function(t){return ho(e),t.data=Aa.call(e,e.transformResponse,t),t.headers=Y.from(t.headers),t},function(t){return ja(t)||(ho(e),t&&t.response&&(t.response.data=Aa.call(e,e.transformResponse,t.response),t.response.headers=Y.from(t.response.headers))),Promise.reject(t)})}var _o=`1.15.0`,vo={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{vo[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var yo={};vo.transitional=function(e,t,n){function r(e,t){return`[Axios v`+_o+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new q(r(i,` has been removed`+(t?` in `+t:``)),q.ERR_DEPRECATED);return t&&!yo[i]&&(yo[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),e?e(n,i,a):!0}},vo.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function bo(e,t,n){if(typeof e!=`object`)throw new q(`options must be an object`,q.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-- >0;){let a=r[i],o=t[a];if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new q(`option `+a+` must be `+n,q.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new q(`Unknown option `+a,q.ERR_BAD_OPTION)}}var xo={assertOptions:bo,validators:vo},So=xo.validators,Co=class{constructor(e){this.defaults=e||{},this.interceptors={request:new na,response:new na}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=(()=>{if(!t.stack)return``;let e=t.stack.indexOf(`
|
|
125
|
+
`);return e===-1?``:t.stack.slice(e+1)})();try{if(!e.stack)e.stack=n;else if(n){let t=n.indexOf(`
|
|
126
|
+
`),r=t===-1?-1:n.indexOf(`
|
|
127
|
+
`,t+1),i=r===-1?``:n.slice(r+1);String(e.stack).endsWith(i)||(e.stack+=`
|
|
128
|
+
`+n)}}catch{}}throw e}}_request(e,t){typeof e==`string`?(t||={},t.url=e):t=e||{},t=Ka(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&xo.assertOptions(n,{silentJSONParsing:So.transitional(So.boolean),forcedJSONParsing:So.transitional(So.boolean),clarifyTimeoutError:So.transitional(So.boolean),legacyInterceptorReqResOrdering:So.transitional(So.boolean)},!1),r!=null&&(K.isFunction(r)?t.paramsSerializer={serialize:r}:xo.assertOptions(r,{encode:So.function,serialize:So.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),xo.assertOptions(t,{baseUrl:So.spelling(`baseURL`),withXsrfToken:So.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&K.merge(i.common,i[t.method]);i&&K.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`common`],e=>{delete i[e]}),t.headers=Y.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s&&=e.synchronous;let n=t.transitional||ra;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[go.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u<d;)l=l.then(e[u++],e[u++]);return l}d=o.length;let f=t;for(;u<d;){let e=o[u++],t=o[u++];try{f=e(f)}catch(e){t.call(this,e);break}}try{l=go.call(this,f)}catch(e){return Promise.reject(e)}for(u=0,d=c.length;u<d;)l=l.then(c[u++],c[u++]);return l}getUri(e){return e=Ka(this.defaults,e),ta(Wa(e.baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}};K.forEach([`delete`,`get`,`head`,`options`],function(e){Co.prototype[e]=function(t,n){return this.request(Ka(n||{},{method:e,url:t,data:(n||{}).data}))}}),K.forEach([`post`,`put`,`patch`],function(e){function t(t){return function(n,r,i){return this.request(Ka(i||{},{method:e,headers:t?{"Content-Type":`multipart/form-data`}:{},url:n,data:r}))}}Co.prototype[e]=t(),Co.prototype[e+`Form`]=t(!0)});var wo=class e{constructor(e){if(typeof e!=`function`)throw TypeError(`executor must be a function.`);let t;this.promise=new Promise(function(e){t=e});let n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new Ma(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function To(e){return function(t){return e.apply(null,t)}}function Eo(e){return K.isObject(e)&&e.isAxiosError===!0}var Do={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Do).forEach(([e,t])=>{Do[t]=e});function Oo(e){let t=new Co(e),n=Fr(Co.prototype.request,t);return K.extend(n,Co.prototype,t,{allOwnKeys:!0}),K.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Oo(Ka(e,t))},n}var X=Oo(ga);X.Axios=Co,X.CanceledError=Ma,X.CancelToken=wo,X.isCancel=ja,X.VERSION=_o,X.toFormData=Xi,X.AxiosError=q,X.Cancel=X.CanceledError,X.all=function(e){return Promise.all(e)},X.spread=To,X.isAxiosError=Eo,X.mergeConfig=Ka,X.AxiosHeaders=Y,X.formToJSON=e=>ma(K.isHTMLForm(e)?new FormData(e):e),X.getAdapter=mo.getAdapter,X.HttpStatusCode=Do,X.default=X;var ko=function(e){return e.Wallet=`wallet`,e.Pay=`pay`,e.Dashboard=`dashboard`,e.Bridge=`bridge`,e}({}),Ao=function(e){return e.Mainnet=`Mainnet`,e.Testnet=`Testnet`,e.Local=`Local`,e}({}),jo={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:`0x163fe0B047ef9B4553E2AfF620AE3020883DFec5`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0xF498fa8b0C1328a22f5d3764DcaB712728d12562`,odosExternalActionInstanceAddress:`0x844B979821D6eA2b4Ef03e06aB860b1ACF3C9FBE`,oneInchExternalActionInstanceAddress:`0xc0F2435498Db6E8D71B706E20AA327B46279906C`,emporiumAddress:`0xcA64D9B41710Bd6e1818D3F0bED939F8e7c5a490`,hinkalWalletAddress:`0x27e94345eAcb931FcE5b9645F078368Ddb67eCa8`,hinkalWrapperAddress:`0x595b892795FFD3bA7aA5bB49cA786bFa1Fe349B6`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0x14069865E5F2589B08c791Db26B392A5Ba4f015b`,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`}]},Mo={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:`0xF498fa8b0C1328a22f5d3764DcaB712728d12562`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0xf988c820dA5a8698DD56Ad23933228d7f53EEAF7`,odosExternalActionInstanceAddress:`0x703c6F8B592F73A6804a9777546B2f0Fe02D228b`,oneInchExternalActionInstanceAddress:`0x90267E75F1f323f4Ba6f1064C7aCA3C59e8B3F21`,emporiumAddress:`0xE9203a0dC8F1D57ff01dB9128eb458319fA5b8Da`,hinkalWalletAddress:`0xAb6363EBC7B2b769938eAA22909da533A9F1Ee52`,hinkalWrapperAddress:`0xa1548597e26d675ad10aa484b6972aac38ba1ea3`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0x1228c9f5e5BA59b609373f6dbA78aa39CE776557`,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`}]},No={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:`0xe23B6307cfA9521dD0DF43a88915A5F943cC97eD`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x39E48225E01533b6e4737F862DD7f11F2Ee91827`,odosExternalActionInstanceAddress:`0xE92A373cD92dA328C5D384F14969C1DC23fae601`,oneInchExternalActionInstanceAddress:`0x11fD5C397E5A6D1EE0cb9Fe088BE3C365eEA52f4`,emporiumAddress:`0x0e82BD9B97dC49A651E8E0155E48b2b101fD7b00`,hinkalWalletAddress:`0xf95e20d23262Ad4Be6b3c1D9930098443fE23482`,hinkalWrapperAddress:`0x35AfB32e5a7d907f2ca0C8C37808A9274B96A198`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0x73C89491026dCea945908e7D4764C8F54f8B8bDc`,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`}]},Po={hinkalAddress:`0x61b1943b6792b1a0c524E4dB33d7a91339C29B62`,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:`0x6C1Ff299486DF95274b053b34E40Da7e61E17139`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x2035f9fcdC02457289edc6b99d954544C2312D5A`,odosExternalActionInstanceAddress:`0x76e54622F4F898eac7628Ed348EC921C8E0eAb11`,oneInchExternalActionInstanceAddress:`0x3E16ed4Ee38545e19eD520316cF9c641D6273e05`,depositOnChainUtxosExternalActionAddress:`0x68d9135cD24F253ba4f24E6bAa1BC34DA85EA0aE`,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`}],emporiumAddress:`0xbb535bEca13eD283c115d668c7fb7F219BaAECFD`,hinkalWalletAddress:`0xF9500c93283ffb1Acbc1FE368784621A905b8934`,hinkalWrapperAddress:`0x7F21DDff111514Db1ae79a5248E245B6Bd078723`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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`}]},Fo={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:`0x8DddA4bcd7D5daf9e7c9cB465Ffc127151fca4F6`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0xe510A121004E6Ff19fFd9D858BA2Eaf7F65853b1`,odosExternalActionInstanceAddress:`0x69f30d20E63cF9aA002586cF237A770Faaf0395D`,oneInchExternalActionInstanceAddress:`0xB9b72545AFc179f9A6F1ADEAC45900924fF8F1e7`,emporiumAddress:`0x5B0d61033Ea5B176e1B897C3Ed471fF3dC6272aC`,hinkalWalletAddress:`0x5332C70a98ff45D16098E25F2d69971Ce46dE395`,hinkalWrapperAddress:`0x0F5D2Cdaa5c8c01aa8D852F28676172ee2695c54`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0xC4EE2a2AA9119c8756229f619772870E003e92db`,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`}]},Io={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:`0x08a5527B96b0946054Fd2120B9B6A5c76df432c2`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x93A6074157345Fda632Cc4c6de41F26a88400AEd`,odosExternalActionInstanceAddress:`0x21802cC438026DD5FC3359460051A32f4F6C0211`,oneInchExternalActionInstanceAddress:`0x6087b2E48d136F1020A5DC14b1286790fa17D5BC`,emporiumAddress:`0x9Ee3b51350c98f0E912441aAf35166d7A71310A0`,hinkalWalletAddress:`0xd079ADceaeC7276f693a097248246Da6ac581A19`,hinkalWrapperAddress:`0x58A5102db2f08291c7a9E2BC320C9100A48042Ee`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0x4c1c127ED7785035A51ce1DA415e6643B911622F`,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`}]},Lo={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:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,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`},Ro={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:`0x22EC8949E47795E01A8e42D60f7681075071fD95`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],emporiumAddress:`0xe59FF2F5eC7D109221ffaAbE183A64A63FA4F8c8`,hinkalWalletAddress:`0x5B9FffF15dE4fFB1c884039B44e49EbB027b130d`,hinkalWrapperAddress:`0x40e14b214B3397fd4743Af1E5074abD63DF0995d`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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:`0x4A23133d8200f1eAcF41f08f1991a7F01Ce5E97b`,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`}]},zo={hinkalAddress:`0x1858c7E127877430EbEc27D112F319C7091add33`,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:`0x83927CF3049DEA065dB50e6B08aA5A136b70C95b`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x56139c0504A28CA44eF9470F42Bd6342818d7489`,depositOnChainUtxosExternalActionAddress:`0xFA3164c6beA5c21d86E14348854d51B08032da2A`,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`}],hinkalWrapperAddress:`0x74aFF37065ae1044158A3535248402Ff8FcF90e9`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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`}]},Bo={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":"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":"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":"storage_account","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,105,110,107,97,108]},{"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":"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":"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_output","type":"bytes"},{"name":"output_index","type":"u8"},{"name":"output_count","type":"u8"}]},{"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":"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":"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":"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":"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"}]}],"accounts":[{"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]}],"events":[{"name":"BlockedUtxosCreated","discriminator":[64,214,216,215,75,156,106,107]},{"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]}],"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":"NullifierAlreadyUsed","msg":"Cannot close a nullifier account that has already been used"},{"code":6019,"name":"Unauthorized","msg":"Unauthorized"},{"code":6020,"name":"CalldataHashMismatch","msg":"Calldata hash mismatch"},{"code":6021,"name":"SignedMessageHashMismatch","msg":"Signed message hash mismatch"},{"code":6022,"name":"RootHashDoesNotExist","msg":"Root hash doesn't exist"},{"code":6023,"name":"InvalidAmountChange","msg":"Invalid amount change"},{"code":6024,"name":"RelayerNotWhitelisted","msg":"Relayer account not whitelisted"},{"code":6025,"name":"ExpectedMintAddressZero","msg":"Expected mint address to be zero"},{"code":6026,"name":"ExpectedMintAddressNotZero","msg":"Expected mint address not to be zero"},{"code":6027,"name":"UnsupportedDimensionsError","msg":"Unsupported dimensions"},{"code":6028,"name":"InNullifiersLengthMismatch","msg":"In nullifiers length mismatch"},{"code":6029,"name":"InNullifierMismatch","msg":"In nullifier mismatch"},{"code":6030,"name":"PoseidonHashFailed","msg":"Poseidon hash failed"},{"code":6031,"name":"NullifierUsed","msg":"Nullifier used"},{"code":6032,"name":"NullifierNotZeroButAccountNotSpecified","msg":"Nullifier not zero, but account not specified"},{"code":6033,"name":"NullifierAccountsListLengthMustBeEven","msg":"Nullifier accounts list length must be even"},{"code":6034,"name":"OnChainCreationLengthMismatch","msg":"On chain creation length mismatch"},{"code":6035,"name":"EncryptedOutputsLengthMismatch","msg":"Encrypted outputs length mismatch"},{"code":6036,"name":"EncryptedOutputTooLarge","msg":"Encrypted output byte length exceeds on-chain limit"},{"code":6037,"name":"EncryptedOutputsCountTooLarge","msg":"Too many encrypted outputs for on-chain account"},{"code":6038,"name":"EncryptedOutputIndexOutOfBounds","msg":"Encrypted output index out of bounds"},{"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":"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":"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":"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"}]}}]}`),originalDeployer:`DW2Na5Q41Ve6HZQzMvPwJVT1tzKnb2UCp8WZkk1EcJUw`},Vo={hinkalAddress:`0x4a4f166f07ee0e867dc6d02b4083da87713539d3`,hinkalHelperAddress:`0xc62ef0a4561ecb3924b712de8691f3d29c6a6003`,depositOnChainUtxosExternalActionAddress:`0xf607a4b50e6262f3e79c8858a73a84f43a432964`,hinkalWrapperAddress:`0x00d974ad1c5c57e9f6e7ec0fab3b1e4f25ace555`,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:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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`}]},Ho={hinkalAddress:`0x65cd1b3921ece2ec8663fa1728e827ccfd5104db`,hinkalHelperAddress:`0x844ebfad3b9c270065799316ef58d6730b82f713`,depositOnChainUtxosExternalActionAddress:`0x9a6cd2796be947af7217a9d14c04fa8648ba2d00`,hinkalWrapperAddress:`0x5ab826ce3945576f3a9c17d4a273816c249366b1`,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:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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`}]},Uo={hinkalAddress:`0x631c98336d4684333946262A9e3e942ef3555A5e`,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:`0xb2883B92a8dE8C9103CB0957Ce0e70F3badACD36`,hinkalHelperABI:[{inputs:[{internalType:`address[]`,name:`_initialRelays`,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:`OwnershipTransferred`,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`},{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:[{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:`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:[],name:`hinkalAddress`,outputs:[{internalType:`address`,name:``,type:`address`}],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:``,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:`_hinkalAddress`,type:`address`}],name:`setHinkalAddress`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`}],uniswapExternalActionAddress:`0x306205f6944F696c22E7E57Da5E75130A73bd566`,depositOnChainUtxosExternalActionAddress:`0x93A4b8A37B0282e01340f827b92854B1cf956E29`,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`}],emporiumAddress:`0xc6fFa92D711C21C37b2bae71A35B672D0Ae779aB`,hinkalWalletAddress:`0x4Fa2Aec0486D1190382FD4Fa39319eBb799E3f98`,hinkalWrapperAddress:`0x5167e23206fAC609fff077De7d845758cfaF2Fd5`,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:[{internalType:`address`,name:`feeRecipient`,type:`address`},{internalType:`address`,name:`feeToken`,type:`address`},{internalType:`uint256`,name:`feeAmount`,type:`uint256`},{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:[],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`}]};function Wo(e,t){return Object.values(e).includes(t)}function Go(e,t,n=!1){if(Wo(e,t))return t;let r=`Value ${Mr(t)} is not a valid member of enum ${Mr(e)}.`;if(n)throw Error(r)}var Ko=c({browser:()=>cs,default:()=>ls,description:()=>Yo,devDependencies:()=>os,engines:()=>ss,exports:()=>Qo,funding:()=>ns,homepage:()=>ts,keywords:()=>rs,license:()=>as,main:()=>Xo,name:()=>qo,readmeFilename:()=>is,repository:()=>es,scripts:()=>$o,types:()=>Zo,version:()=>Jo}),qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us=o((()=>{qo=`dotenv`,Jo=`16.6.1`,Yo=`Loads environment variables from .env file`,Xo=`lib/main.js`,Zo=`lib/main.d.ts`,Qo={".":{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`},$o={"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`},es={type:`git`,url:`git://github.com/motdotla/dotenv.git`},ts=`https://github.com/motdotla/dotenv#readme`,ns=`https://dotenvx.com`,rs=[`dotenv`,`env`,`.env`,`environment`,`variables`,`config`,`settings`],is=`README.md`,as=`BSD-2-Clause`,os={"@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`},ss={node:`>=12`},cs={fs:!1},ls={name:qo,version:Jo,description:Yo,main:Xo,types:Zo,exports:Qo,scripts:$o,repository:es,homepage:ts,funding:ns,keywords:rs,readmeFilename:is,license:as,devDependencies:os,engines:ss,browser:cs}})),ds=s(((e,t)=>{var n=require(`fs`),r=require(`path`),i=require(`os`),a=require(`crypto`),o=(us(),d(Ko).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,`
|
|
129
|
+
`);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,`
|
|
130
|
+
`),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}({}),fs={[Z.DEVELOPMENT]:[`localhost`,`192.`,`127.`],[Z.PLAYGROUND]:[`playground`],[Z.STAGING]:[`working`,`staging`]},ps=typeof process<`u`&&process?.release?.name===`node`,ms=typeof process<`u`&&process.versions!=null&&process.versions.node!=null,hs=typeof __webpack_require__<`u`;typeof window<`u`&&window?.location?.protocol;function gs(e,t){return t.some(t=>e.includes(t))}var _s=()=>(ds().config({path:`DOTENV_OVERRIDE`in process.env?process.env.DOTENV_OVERRIDE:void 0}),process.env.DEPLOYMENT_MODE?.startsWith(`production`)?Z.PRODUCTION:Go(Z,process.env.DEPLOYMENT_MODE)||Z.DEVELOPMENT),vs=(()=>{if(!ps&&typeof window>`u`)return;if(ps)return _s();if(window?.location?.protocol===`chrome-extension:`)return Go(Z,WALLET_DEPLOYMENT_MODE)||Z.STAGING;let e=window?.location?.host;return gs(e,fs[Z.DEVELOPMENT])?Z.DEVELOPMENT:gs(e,fs[Z.PLAYGROUND])?Z.PLAYGROUND:gs(e,fs[Z.STAGING])?Z.STAGING:Z.PRODUCTION})(),ys=vs===Z.DEVELOPMENT,bs=vs===Z.PLAYGROUND,xs=vs===Z.STAGING||ys||bs,Ss=xs||ps&&vs===Z.PRODUCTION,Q={polygon:137,arbMainnet:42161,ethMainnet:1,bnbMainnet:56,optimism:10,optimismTest:1010,base:8453,localhost:31337,arcTestnet:5042002,sepoliaTestnet:11155111,solanaMainnet:501,solanaLocalnet:102,tronNile:3448148188,tronLocalnet:103,tronMainnet:728126428,tempo:4217},Cs=Q.ethMainnet,$=xs?`X4IiEZsSzGOrJq8tzq7Y3`:`XzUgeU8YiIIzkD7j2GWnTsFUck7wGgK9`,ws={[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:Mo,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:jo,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:No,quoterV2Address:`0x61fFE014bA17989E743c5F6cB21bF9697530B21e`,uniswapV3FactoryAddress:`0x1F98431c8aD98523631AE4a59f267346ea31F984`,priority:3,maxPageSize:9e5},[Q.optimismTest]:{name:`Optimism Test`,chainId:Q.optimismTest,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:Po,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:Fo,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:Io,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:Ro,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:Bo,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:Bo,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:Vo,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:Ho,maxPageSize:5e5},[Q.sepoliaTestnet]:{name:`Sepolia Testnet`,chainId:Q.sepoliaTestnet,rpcUrl:`https://eth-sepolia.g.alchemy.com/v2/${$}`,fetchRpcUrl:`https://eth-sepolia.g.alchemy.com/v2/${$}`,supported:!0,priority:11,contractData:zo,quoterV2Address:`0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3`,uniswapV3FactoryAddress:`0x0227628f3F023bb0B980b67D528571c95c6DaC1c`,maxPageSize:9e5},[Q.tempo]:{name:`Tempo`,chainId:Q.tempo,rpcUrl:`https://rpc.tempo.xyz`,fetchRpcUrl:`https://rpc.tempo.xyz`,supported:!0,priority:12,contractData:Uo,quoterV2Address:`0x53ab5d7a69db158f621b43ee70423da1e1403c2a`,uniswapV3FactoryAddress:`0x24a3d4757e330890a8b8978028c9e58e04611fd6`,maxPageSize:9999}},Ts={name:`Localhost`,chainId:Q.localhost,rpcUrl:`http://127.0.0.1:8545`,fetchRpcUrl:`http://127.0.0.1:8545`,supported:!0,contractData:Lo,quoterV2Address:ws[Cs].quoterV2Address,uniswapV3FactoryAddress:ws[Cs].uniswapV3FactoryAddress,priority:7};ys&&(ws[Q.localhost]=Ts),Ao.Mainnet,Q.polygon,Q.arbMainnet,Q.ethMainnet,Q.bnbMainnet,Q.optimism,Q.base,Q.tronMainnet,Q.tempo,Ao.Testnet,xs?(Q.arcTestnet,Q.tronNile,Q.sepoliaTestnet,Q.optimismTest):(Q.arcTestnet,Q.sepoliaTestnet),Ao.Local,Q.localhost;var Es=[Q.tronNile,Q.tronMainnet,Q.tronLocalnet],Ds=[Q.solanaMainnet,Q.solanaLocalnet],Os=e=>Ds.includes(e),ks=e=>Es.includes(e),As=e=>e===Q.sepoliaTestnet,js=e=>e===Q.tempo,Ms=xs?Q.tronNile:Q.tronMainnet,Ns=Q.solanaMainnet,Ps=[Q.ethMainnet,Q.optimism,Q.base,Q.polygon,Q.arbMainnet,Q.arcTestnet,Ns,Q.sepoliaTestnet,Q.tronMainnet,Q.tronNile],Fs=[...Ps.filter(e=>!ks(e)),Ms];Ps.filter(e=>!ks(e)&&!As(e)&&!js(e));var Is=[Q.sepoliaTestnet,Q.tempo];Fs.filter(e=>!Is.includes(e)),Ps.filter(e=>!ks(e)&&e!==Q.arcTestnet&&!As(e)),Ps.filter(e=>!Os(e)&&!ks(e)),ko.Wallet,ko.Pay,ko.Bridge,ko.Dashboard,Q.arcTestnet;var Ls=class{isNode=!1;onmessage=null;onerror=null;_eventEmitter;get eventEmitter(){if(this._eventEmitter)return this._eventEmitter;if(this.isNode){let e=jr();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(){}postMessage(e){this.isNode?this.eventEmitter.emit(`message`,e):postMessage(e)}postMessageToMainThread(e){this.isNode?this.parentPort.postMessage(e):postMessage(e)}postErrorToMainThread(e){this.isNode?this.parentPort.postMessage({error:e}):postMessage(e)}get parentPort(){return require(`worker_threads`).parentPort}};Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Ss}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return kr}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ms}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Nr}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return hs}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Os}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ls}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return jr}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return s}});
|