[{"type":"constructor","inputs":[{"name":"initialOwner","type":"address","internalType":"address"},{"name":"token_","type":"address","internalType":"address"},{"name":"router_","type":"address","internalType":"address"},{"name":"team_","type":"address","internalType":"address"},{"name":"keeper_","type":"address","internalType":"address"},{"name":"path_","type":"address[]","internalType":"address[]"},{"name":"policyHash_","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"AUTO_RETRY_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURN_ADDRESS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURN_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOLDER_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_BATCH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PUSH_GAS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buybackReserve","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"day","type":"uint64","internalType":"uint64"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"destination","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"credit","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"creditReserve","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"distribute","inputs":[{"name":"day","type":"uint64","internalType":"uint64"},{"name":"payments","type":"tuple[]","internalType":"struct VellinDistributor.Payment[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"epochs","inputs":[{"name":"","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"reportHash","type":"bytes32","internalType":"bytes32"},{"name":"snapshotHash","type":"bytes32","internalType":"bytes32"},{"name":"snapshotBlock","type":"uint64","internalType":"uint64"},{"name":"funded","type":"bool","internalType":"bool"},{"name":"netProfit","type":"uint256","internalType":"uint256"},{"name":"holderPool","type":"uint256","internalType":"uint256"},{"name":"remaining","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"executeBuyback","inputs":[{"name":"ethAmount","type":"uint256","internalType":"uint256"},{"name":"minimumTokens","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundEpoch","inputs":[{"name":"r","type":"tuple","internalType":"struct VellinDistributor.Report","components":[{"name":"day","type":"uint64","internalType":"uint64"},{"name":"snapshotBlock","type":"uint64","internalType":"uint64"},{"name":"snapshotHash","type":"bytes32","internalType":"bytes32"},{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"reportHash","type":"bytes32","internalType":"bytes32"},{"name":"realisedPnl","type":"int256","internalType":"int256"},{"name":"tradingFees","type":"uint256","internalType":"uint256"},{"name":"infrastructureCosts","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"hasEpoch","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"holderReserve","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"keeper","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lastDay","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"lastPaymentAttempt","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"lastSnapshotBlock","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"leaf","inputs":[{"name":"day","type":"uint64","internalType":"uint64"},{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"path","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"policyHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"processed","inputs":[{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"reserved","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"retryPayment","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"retryPayments","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"router","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IV2BuybackRouter"}],"stateMutability":"view"},{"type":"function","name":"setKeeper","inputs":[{"name":"next","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"realisedPnl","type":"int256","internalType":"int256"},{"name":"tradingFees","type":"uint256","internalType":"uint256"},{"name":"infrastructureCosts","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"net","type":"uint256","internalType":"uint256"},{"name":"holders","type":"uint256","internalType":"uint256"},{"name":"burn","type":"uint256","internalType":"uint256"},{"name":"teamAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"team","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawCredit","inputs":[{"name":"destination","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BuybackBurned","inputs":[{"name":"ethSpent","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokensSentToBurn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minimumOut","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EpochFunded","inputs":[{"name":"day","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"root","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"snapshotBlock","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"snapshotHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"reportHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"realisedPnl","type":"int256","indexed":false,"internalType":"int256"},{"name":"tradingFees","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"infrastructureCosts","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"netProfit","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"holders","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"buyback","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"teamAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"HolderProcessed","inputs":[{"name":"day","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"KeeperUpdated","inputs":[{"name":"keeper","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PaymentDeferred","inputs":[{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PaymentSent","inputs":[{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"destination","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AlreadyProcessed","inputs":[]},{"type":"error","name":"DirectTransferDisabled","inputs":[]},{"type":"error","name":"EnforcedPause","inputs":[]},{"type":"error","name":"ExpectedPause","inputs":[]},{"type":"error","name":"InvalidBatch","inputs":[]},{"type":"error","name":"InvalidBuyback","inputs":[]},{"type":"error","name":"InvalidConfiguration","inputs":[]},{"type":"error","name":"InvalidEpoch","inputs":[]},{"type":"error","name":"InvalidFunding","inputs":[]},{"type":"error","name":"InvalidPayment","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"RenounceDisabled","inputs":[]},{"type":"error","name":"UnauthorizedKeeper","inputs":[]}]
