[ { "inputs": [ { "internalType": "address", "name": "_torn", "type": "address" }, { "internalType": "address", "name": "_governance", "type": "address" }, { "internalType": "address", "name": "_ens", "type": "address" }, { "internalType": "bytes32", "name": "_staking", "type": "bytes32" }, { "internalType": "bytes32", "name": "_feeManager", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "minStakeAmount", "type": "uint256" } ], "name": "MinimumStakeAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "relayer", "type": "address" } ], "name": "RelayerBalanceNullified", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "relayer", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "ensName", "type": "string" }, { "indexed": false, "internalType": "address", "name": "relayerAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "stakedAmount", "type": "uint256" } ], "name": "RelayerRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "tornadoRouter", "type": "address" } ], "name": "RouterRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "relayer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountStakeAdded", "type": "uint256" } ], "name": "StakeAddedToRelayer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "relayer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountBurned", "type": "uint256" } ], "name": "StakeBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "relayer", "type": "address" }, { "indexed": false, "internalType": "address", "name": "worker", "type": "address" } ], "name": "WorkerRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "relayer", "type": "address" }, { "indexed": false, "internalType": "address", "name": "worker", "type": "address" } ], "name": "WorkerUnregistered", "type": "event" }, { "inputs": [ { "internalType": "bytes32[]", "name": "domains", "type": "bytes32[]" } ], "name": "bulkResolve", "outputs": [ { "internalType": "address[]", "name": "result", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "contract ITornadoInstance", "name": "pool", "type": "address" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "ens", "outputs": [ { "internalType": "contract IENS", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeManager", "outputs": [ { "internalType": "contract FeeManager", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" } ], "name": "getRelayerBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" } ], "name": "getRelayerEnsHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "governance", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_tornadoRouter", "type": "bytes32" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toResolve", "type": "address" } ], "name": "isRelayer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "address", "name": "toResolve", "type": "address" } ], "name": "isRelayerRegistered", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minStakeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" } ], "name": "nullifyBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "ensName", "type": "string" }, { "internalType": "uint256", "name": "stake", "type": "uint256" }, { "internalType": "address[]", "name": "workersToRegister", "type": "address[]" } ], "name": "register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "ensName", "type": "string" }, { "internalType": "uint256", "name": "stake", "type": "uint256" }, { "internalType": "address[]", "name": "workersToRegister", "type": "address[]" }, { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "registerPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "address", "name": "worker", "type": "address" } ], "name": "registerWorker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "relayers", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "bytes32", "name": "ensHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "node", "type": "bytes32" } ], "name": "resolve", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minAmount", "type": "uint256" } ], "name": "setMinStakeAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tornadoRouterAddress", "type": "address" } ], "name": "setTornadoRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "uint256", "name": "stake", "type": "uint256" } ], "name": "stakeToRelayer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayer", "type": "address" }, { "internalType": "uint256", "name": "stake", "type": "uint256" }, { "internalType": "address", "name": "staker", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "stakeToRelayerPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "staking", "outputs": [ { "internalType": "contract ITornadoStakingRewards", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "torn", "outputs": [ { "internalType": "contract TORN", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tornadoRouter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "worker", "type": "address" } ], "name": "unregisterWorker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "workers", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]