[{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"param","type":"string"}],"name":"ParameterUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"reserveHolder","type":"address"},{"indexed":false,"internalType":"address","name":"claimant","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReserveClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"reserveHolder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReserveFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"controller","type":"address"}],"name":"SetController","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"startRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endRound","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"UnlockCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"faceValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"winProb","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"senderNonce","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"recipientRand","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"auxData","type":"bytes"}],"name":"WinningTicketRedeemed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WinningTicketTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"deposit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reserve","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"faceValue","type":"uint256"},{"internalType":"uint256","name":"winProb","type":"uint256"},{"internalType":"uint256","name":"senderNonce","type":"uint256"},{"internalType":"bytes32","name":"recipientRandHash","type":"bytes32"},{"internalType":"bytes","name":"auxData","type":"bytes"}],"internalType":"struct MTicketBrokerCore.Ticket[]","name":"_tickets","type":"tuple[]"},{"internalType":"bytes[]","name":"_sigs","type":"bytes[]"},{"internalType":"uint256[]","name":"_recipientRands","type":"uint256[]"}],"name":"batchRedeemWinningTickets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelUnlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_reserveHolder","type":"address"},{"internalType":"address","name":"_claimant","type":"address"}],"name":"claimableReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_reserveHolder","type":"address"},{"internalType":"address","name":"_claimant","type":"address"}],"name":"claimedReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"controller","outputs":[{"internalType":"contract IController","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_depositAmount","type":"uint256"},{"internalType":"uint256","name":"_reserveAmount","type":"uint256"}],"name":"fundDepositAndReserve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"_depositAmount","type":"uint256"},{"internalType":"uint256","name":"_reserveAmount","type":"uint256"}],"name":"fundDepositAndReserveFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"fundReserve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_reserveHolder","type":"address"}],"name":"getReserveInfo","outputs":[{"components":[{"internalType":"uint256","name":"fundsRemaining","type":"uint256"},{"internalType":"uint256","name":"claimedInCurrentRound","type":"uint256"}],"internalType":"struct MReserve.ReserveInfo","name":"info","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"getSenderInfo","outputs":[{"components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"uint256","name":"withdrawRound","type":"uint256"}],"internalType":"struct MixinTicketBrokerCore.Sender","name":"sender","type":"tuple"},{"components":[{"internalType":"uint256","name":"fundsRemaining","type":"uint256"},{"internalType":"uint256","name":"claimedInCurrentRound","type":"uint256"}],"internalType":"struct MReserve.ReserveInfo","name":"reserve","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"faceValue","type":"uint256"},{"internalType":"uint256","name":"winProb","type":"uint256"},{"internalType":"uint256","name":"senderNonce","type":"uint256"},{"internalType":"bytes32","name":"recipientRandHash","type":"bytes32"},{"internalType":"bytes","name":"auxData","type":"bytes"}],"internalType":"struct MTicketBrokerCore.Ticket","name":"_ticket","type":"tuple"}],"name":"getTicketHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"isUnlockInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"faceValue","type":"uint256"},{"internalType":"uint256","name":"winProb","type":"uint256"},{"internalType":"uint256","name":"senderNonce","type":"uint256"},{"internalType":"bytes32","name":"recipientRandHash","type":"bytes32"},{"internalType":"bytes","name":"auxData","type":"bytes"}],"internalType":"struct MTicketBrokerCore.Ticket","name":"_ticket","type":"tuple"},{"internalType":"bytes","name":"_sig","type":"bytes"},{"internalType":"uint256","name":"_recipientRand","type":"uint256"}],"name":"redeemWinningTicket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ticketValidityPeriod","type":"uint256"}],"name":"setTicketValidityPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_unlockPeriod","type":"uint256"}],"name":"setUnlockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"targetContractId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticketValidityPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"usedTickets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]