Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 13 from a total of 13 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 11379333 | 1461 days ago | IN | 0 ETH | 0.00169614 | ||||
Set Market Borro... | 11360173 | 1464 days ago | IN | 0 ETH | 0.0044301 | ||||
Set Market Borro... | 11360166 | 1464 days ago | IN | 0 ETH | 0.0046959 | ||||
Set Market Borro... | 11360162 | 1464 days ago | IN | 0 ETH | 0.0046959 | ||||
Set Market Borro... | 11360159 | 1464 days ago | IN | 0 ETH | 0.0046959 | ||||
Set Market Borro... | 11360158 | 1464 days ago | IN | 0 ETH | 0.0044301 | ||||
Set Market Borro... | 11360155 | 1464 days ago | IN | 0 ETH | 0.0044289 | ||||
Set Market Borro... | 11360155 | 1464 days ago | IN | 0 ETH | 0.0044301 | ||||
Set Market Borro... | 11360150 | 1464 days ago | IN | 0 ETH | 0.00434149 | ||||
Set Market Borro... | 11360150 | 1464 days ago | IN | 0 ETH | 0.00434149 | ||||
Set Market Borro... | 11360145 | 1464 days ago | IN | 0 ETH | 0.00434149 | ||||
Set Market Borro... | 11360140 | 1464 days ago | IN | 0 ETH | 0.00424713 | ||||
Set Market Borro... | 11360137 | 1464 days ago | IN | 0 ETH | 0.00425289 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
LendingRateOracle
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-30 */ // SPDX-License-Identifier: agpl-3.0 pragma solidity 0.6.12; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal virtual view returns (address payable) { return msg.sender; } function _msgData() internal virtual view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @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. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @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(_owner == _msgSender(), 'Ownable: caller is not the 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 virtual 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 virtual onlyOwner { require(newOwner != address(0), 'Ownable: new owner is the zero address'); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @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 { event MarketBorrowRateSet(address indexed asset, uint256 rate); /** @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; } contract LendingRateOracle is ILendingRateOracle, Ownable { mapping(address => uint256) internal _borrowRates; function getMarketBorrowRate(address asset) external override view returns (uint256) { return _borrowRates[asset]; } function setMarketBorrowRate(address asset, uint256 rate) external override onlyOwner { _borrowRates[asset] = rate; emit MarketBorrowRateSet(asset, rate); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"MarketBorrowRateSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getMarketBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setMarketBorrowRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b61041a8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c57806372eb293d146100665780638da5cb5b14610092578063bb85c0bb146100b6578063f2fde38b146100ee575b600080fd5b610064610114565b005b6100646004803603604081101561007c57600080fd5b506001600160a01b0381351690602001356101c8565b61009a610286565b604080516001600160a01b039092168252519081900360200190f35b6100dc600480360360208110156100cc57600080fd5b50356001600160a01b0316610295565b60408051918252519081900360200190f35b6100646004803603602081101561010457600080fd5b50356001600160a01b03166102b0565b61011c6103ba565b6000546001600160a01b0390811691161461017e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101d06103ba565b6000546001600160a01b03908116911614610232576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517feddf60a41f2e6c1a025372190672a8274d9c1fcb0eacda2aa792493d0af343d79281900390910190a25050565b6000546001600160a01b031690565b6001600160a01b031660009081526001602052604090205490565b6102b86103ba565b6000546001600160a01b0390811691161461031a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661035f5760405162461bcd60e51b81526004018080602001828103825260268152602001806103bf6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212203fbf58e9a6784d8e7cbf2886ab44bc658c359fbefc791057484e9025ade4258e64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c57806372eb293d146100665780638da5cb5b14610092578063bb85c0bb146100b6578063f2fde38b146100ee575b600080fd5b610064610114565b005b6100646004803603604081101561007c57600080fd5b506001600160a01b0381351690602001356101c8565b61009a610286565b604080516001600160a01b039092168252519081900360200190f35b6100dc600480360360208110156100cc57600080fd5b50356001600160a01b0316610295565b60408051918252519081900360200190f35b6100646004803603602081101561010457600080fd5b50356001600160a01b03166102b0565b61011c6103ba565b6000546001600160a01b0390811691161461017e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101d06103ba565b6000546001600160a01b03908116911614610232576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517feddf60a41f2e6c1a025372190672a8274d9c1fcb0eacda2aa792493d0af343d79281900390910190a25050565b6000546001600160a01b031690565b6001600160a01b031660009081526001602052604090205490565b6102b86103ba565b6000546001600160a01b0390811691161461031a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661035f5760405162461bcd60e51b81526004018080602001828103825260268152602001806103bf6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212203fbf58e9a6784d8e7cbf2886ab44bc658c359fbefc791057484e9025ade4258e64736f6c634300060c0033
Deployed Bytecode Sourcemap
3668:427:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2521:138;;;:::i;:::-;;3917:175;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3917:175:0;;;;;;;;:::i;1919:73::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1919:73:0;;;;;;;;;;;;;;3787:124;;;;;;;;;;;;;;;;-1:-1:-1;3787:124:0;-1:-1:-1;;;;;3787:124:0;;:::i;:::-;;;;;;;;;;;;;;;;2804:230;;;;;;;;;;;;;;;;-1:-1:-1;2804:230:0;-1:-1:-1;;;;;2804:230:0;;:::i;2521:138::-;2123:12;:10;:12::i;:::-;2113:6;;-1:-1:-1;;;;;2113:6:0;;;:22;;;2105:67;;;;;-1:-1:-1;;;2105:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2624:1:::1;2608:6:::0;;2587:40:::1;::::0;-1:-1:-1;;;;;2608:6:0;;::::1;::::0;2587:40:::1;::::0;2624:1;;2587:40:::1;2651:1;2634:19:::0;;-1:-1:-1;;;;;;2634:19:0::1;::::0;;2521:138::o;3917:175::-;2123:12;:10;:12::i;:::-;2113:6;;-1:-1:-1;;;;;2113:6:0;;;:22;;;2105:67;;;;;-1:-1:-1;;;2105:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4010:19:0;::::1;;::::0;;;:12:::1;:19;::::0;;;;;;;;:26;;;4054:32;;;;;;;::::1;::::0;;;;;;;;::::1;3917:175:::0;;:::o;1919:73::-;1957:7;1980:6;-1:-1:-1;;;;;1980:6:0;1919:73;:::o;3787:124::-;-1:-1:-1;;;;;3886:19:0;3863:7;3886:19;;;:12;:19;;;;;;;3787:124::o;2804:230::-;2123:12;:10;:12::i;:::-;2113:6;;-1:-1:-1;;;;;2113:6:0;;;:22;;;2105:67;;;;;-1:-1:-1;;;2105:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2889:22:0;::::1;2881:73;;;;-1:-1:-1::0;;;2881:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2987:6;::::0;;2966:38:::1;::::0;-1:-1:-1;;;;;2966:38:0;;::::1;::::0;2987:6;::::1;::::0;2966:38:::1;::::0;::::1;3011:6;:17:::0;;-1:-1:-1;;;;;;3011:17:0::1;-1:-1:-1::0;;;;;3011:17:0;;;::::1;::::0;;;::::1;::::0;;2804:230::o;610:100::-;694:10;610:100;:::o
Swarm Source
ipfs://3fbf58e9a6784d8e7cbf2886ab44bc658c359fbefc791057484e9025ade4258e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.