Contract 0x4d728a4496e4de35f218d5a214366bde3a62b51c

 
Txn Hash
Block
From
To
Value
0x93015f0880aba9641f60032c43a7508d3e5107c8365593e65f23ae47928e7b7397458992020-03-26 8:33:36343 days 22 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0001119274273.630000233
0xa101578618685d3a7b0c3573f891f3afc909416405c7a9080e8618be3b3a065197416532020-03-25 16:52:10344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x6510d093be5119550c08a91fcc9c434c923409f0de29c84d6b9b3f8b7c85897a97416512020-03-25 16:51:58344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x06e3e7fc91802774b564d1bd3881451484246032eecd90b0bdca75f0df0995f097416492020-03-25 16:51:37344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x70525f139b748e958b844111884d26bd66fbe1285fe0941ecf532a17d341d05e97416472020-03-25 16:51:34344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x622d8f667676db123cd25027cefff961f6da649e5b1f61ed8f92a176203eb48897416452020-03-25 16:51:11344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xcf77523109ad6c380bab06976aa3aef26e2f7831adb78175c640a89c3cc21b4d97416432020-03-25 16:51:02344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006426915
0x8df7c43e406e2452be88c0fe1dafa14e712c065d6750fefc0a02a183be6b1dab97416422020-03-25 16:50:50344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xa7fbe3b7c79ea40e86547dc6e01e3a34d371680f7a024455efa8a31a3a109c3697416402020-03-25 16:50:11344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xa178938b669d6826069185feb338ca483e31b8970e57417de22c60b0128e380297416392020-03-25 16:49:51344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x19a0b62ed5983a71f7f2ad929a2feef9a49b9d4773ccc4913154c31526d1028d97416382020-03-25 16:49:29344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xe1956a48d617eae7346d4f89fffb68e545ced641ca24fad337507db5e05ed4fc97416372020-03-25 16:49:09344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xc33823dc60bd7d7ea2b70b157a9209a15312ea88fc61c17e7f1df12360e5e8f797416362020-03-25 16:48:56344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xde2a6df291f112f61be5419207c5f453441f899c626f8cc6474164f3990e43de97416352020-03-25 16:48:39344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006419715
0x4acfe31349a4dbb25f63b01b3b90ccf078525c565f928b538b3260e045181ec997416352020-03-25 16:48:39344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0xa2456c9483a2e0df1333949b5f528f8c1c8318344e0c649faf9605641dcf821097416332020-03-25 16:48:23344 days 14 hrs agoAave: Deployer 2 IN  0x4d728a4496e4de35f218d5a214366bde3a62b51c0 Ether0.0006428715
0x14fb6ba086e423532cab8b5747e5069cc782a07943269fab77c03227361b4d3c97416312020-03-25 16:48:00344 days 14 hrs agoAave: Deployer 2 IN  Contract Creation0 Ether0.0051327615
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LendingRateOracle

Compiler Version
v0.5.14+commit.1f1aaa4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-03-26
*/

// File: contracts/interfaces/ILendingRateOracle.sol

pragma solidity ^0.5.0;

/**
* @title ILendingRateOracle interface
* @notice Interface for the Aave borrow rate oracle. Provides the average market borrow rate to be used as a base for the stable borrow rate calculations
**/

interface ILendingRateOracle {
    /**
    @dev returns the market borrow rate in ray
    **/
    function getMarketBorrowRate(address _asset) external view returns (uint256);

    /**
    @dev sets the market borrow rate. Rate value must be in ray
    **/
    function setMarketBorrowRate(address _asset, uint256 _rate) external;
}

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

pragma solidity ^0.5.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be aplied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * > Note: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/mocks/oracle/LendingRateOracle.sol

pragma solidity ^0.5.0;



contract LendingRateOracle is ILendingRateOracle, Ownable {

    mapping(address => uint256) borrowRates;
    mapping(address => uint256) liquidityRates;


    function getMarketBorrowRate(address _asset) external view returns(uint256) {
        return borrowRates[_asset];
    }

    function setMarketBorrowRate(address _asset, uint256 _rate) external onlyOwner {
        borrowRates[_asset] = _rate;
    }

    function getMarketLiquidityRate(address _asset) external view returns(uint256) {
        return liquidityRates[_asset];
    }

    function setMarketLiquidityRate(address _asset, uint256 _rate) external onlyOwner {
        liquidityRates[_asset] = _rate;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_asset","type":"address"}],"name":"getMarketBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_asset","type":"address"}],"name":"getMarketLiquidityRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_asset","type":"address"},{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setMarketBorrowRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_asset","type":"address"},{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setMarketLiquidityRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36104ce806100576000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639f86a0ee1161005b5780639f86a0ee14610103578063bb85c0bb1461012f578063f2fde38b14610167578063fbe5ba1e1461018d57610088565b8063715018a61461008d57806372eb293d146100975780638da5cb5b146100c35780638f32d59b146100e7575b600080fd5b6100956101b3565b005b610095600480360360408110156100ad57600080fd5b506001600160a01b038135169060200135610244565b6100cb6102a7565b604080516001600160a01b039092168252519081900360200190f35b6100ef6102b6565b604080519115158252519081900360200190f35b6100956004803603604081101561011957600080fd5b506001600160a01b0381351690602001356102c7565b6101556004803603602081101561014557600080fd5b50356001600160a01b031661032a565b60408051918252519081900360200190f35b6100956004803603602081101561017d57600080fd5b50356001600160a01b0316610345565b610155600480360360208110156101a357600080fd5b50356001600160a01b0316610398565b6101bb6102b6565b6101fa576040805162461bcd60e51b8152602060048201819052602482015260008051602061047a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61024c6102b6565b61028b576040805162461bcd60e51b8152602060048201819052602482015260008051602061047a833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260016020526040902055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6102cf6102b6565b61030e576040805162461bcd60e51b8152602060048201819052602482015260008051602061047a833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260026020526040902055565b6001600160a01b031660009081526001602052604090205490565b61034d6102b6565b61038c576040805162461bcd60e51b8152602060048201819052602482015260008051602061047a833981519152604482015290519081900360640190fd5b610395816103b3565b50565b6001600160a01b031660009081526002602052604090205490565b6001600160a01b0381166103f85760405162461bcd60e51b81526004018080602001828103825260268152602001806104546026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820fd82dced7515601e923acf0de9cc98d43cb0205d3b6663f2611fec9ebcf5dac264736f6c634300050e0032

Deployed ByteCode Sourcemap

3187:697:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3187:697:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2353:140;;;:::i;:::-;;3482:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3482:125:0;;;;;;;;:::i;1542:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1542:79:0;;;;;;;;;;;;;;1908:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;3750:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3750:131:0;;;;;;;;:::i;3353:121::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3353:121:0;-1:-1:-1;;;;;3353:121:0;;:::i;:::-;;;;;;;;;;;;;;;;2648:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2648:109:0;-1:-1:-1;;;;;2648:109:0;;:::i;3615:127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3615:127:0;-1:-1:-1;;;;;3615:127:0;;:::i;2353:140::-;1754:9;:7;:9::i;:::-;1746:54;;;;;-1:-1:-1;;;1746:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1746:54:0;;;;;;;;;;;;;;;2452:1;2436:6;;2415:40;;-1:-1:-1;;;;;2436:6:0;;;;2415:40;;2452:1;;2415:40;2483:1;2466:19;;-1:-1:-1;;;;;;2466:19:0;;;2353:140::o;3482:125::-;1754:9;:7;:9::i;:::-;1746:54;;;;;-1:-1:-1;;;1746:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1746:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3572:19:0;;;;;;;:11;:19;;;;;:27;3482:125::o;1542:79::-;1580:7;1607:6;-1:-1:-1;;;;;1607:6:0;1542:79;:::o;1908:92::-;1948:4;1986:6;-1:-1:-1;;;;;1986:6:0;1972:10;:20;;1908:92::o;3750:131::-;1754:9;:7;:9::i;:::-;1746:54;;;;;-1:-1:-1;;;1746:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1746:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3843:22:0;;;;;;;:14;:22;;;;;:30;3750:131::o;3353:121::-;-1:-1:-1;;;;;3447:19:0;3420:7;3447:19;;;:11;:19;;;;;;;3353:121::o;2648:109::-;1754:9;:7;:9::i;:::-;1746:54;;;;;-1:-1:-1;;;1746:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1746:54:0;;;;;;;;;;;;;;;2721:28;2740:8;2721:18;:28::i;:::-;2648:109;:::o;3615:127::-;-1:-1:-1;;;;;3712:22:0;3685:7;3712:22;;;:14;:22;;;;;;;3615:127::o;2863:229::-;-1:-1:-1;;;;;2937:22:0;;2929:73;;;;-1:-1:-1;;;2929:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3039:6;;;3018:38;;-1:-1:-1;;;;;3018:38:0;;;;3039:6;;;3018:38;;;3067:6;:17;;-1:-1:-1;;;;;;3067:17:0;-1:-1:-1;;;;;3067:17:0;;;;;;;;;;2863:229::o

Swarm Source

bzzr://fd82dced7515601e923acf0de9cc98d43cb0205d3b6663f2611fec9ebcf5dac2
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.