账户
0x52...b2f8
0x52...b2f8

0x52...b2f8

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.8.18+commit.87f61d96
语言
Solidity
合同源代码
文件 1 的 1:Keeper.sol
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.18;

interface IStrategy {
    function report() external returns (uint256, uint256);

    function tend() external;
}

interface IVault {
    function process_report(address) external returns (uint256, uint256);
}

/**
 * @title Keeper
 * @notice
 *   To allow permissionless reporting on V3 vaults and strategies.
 *
 *   This will do low level calls so that in can be used without reverting
 *   it the roles have not been set or the functions are not available.
 */
contract Keeper {
    /**
     * @notice Reports on a strategy.
     */
    function report(address _strategy) external returns (uint256, uint256) {
        return IStrategy(_strategy).report();
    }

    /**
     * @notice Tends a strategy.
     */
    function tend(address _strategy) external {
        return IStrategy(_strategy).tend();
    }

    /**
     * @notice Report strategy profits on a vault.
     */
    function process_report(
        address _vault,
        address _strategy
    ) external returns (uint256, uint256) {
        return IVault(_vault).process_report(_strategy);
    }
}
设置
{
  "compilationTarget": {
    "Keeper.sol": "Keeper"
  },
  "evmVersion": "paris",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"name":"process_report","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"name":"report","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"name":"tend","outputs":[],"stateMutability":"nonpayable","type":"function"}]