Contract 0xbda8d53fe0f164915b46cd2ecffd94254b6086a2 3

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb70c11340a02e6c70a1e6382a85f83d507e6207f48596aba2c6690e91c33626aApprove112034792021-09-24 20:48:421 day 23 hrs ago0x0697009c8f8b0020188790182f6ebd56469882ee IN  BR34P: RAKE Token0 BNB0.000072555
0x3b07ca557faeeb2dabf03a0732ae566310123e678cbcaaf27a21497d2432d140Approve111724182021-09-23 18:51:323 days 1 hr ago0x73735652c3bebe6c42723a30cdb8678ea58cfdc7 IN  BR34P: RAKE Token0 BNB0.00022203
0xecf1427d9ee7607f65dbf96148729b2de459de8bf2656ccc4c4b9c5f6a1f5829Approve111031712021-09-21 8:41:555 days 11 hrs ago0xdcbbba3972926c9a516c8045759517ceb92865df IN  BR34P: RAKE Token0 BNB0.00022203
0x79b176812c36b2ddd618607747f8fa9d4b4a8395a6bf858480e5a7f4ee56df5dApprove111015622021-09-21 7:21:265 days 12 hrs ago0x5530755a11ab2a302a8b820018222dfb28d887ac IN  BR34P: RAKE Token0 BNB0.000072555
0xeac57548db5c48743d24dfa00640b6befb3373b78cb87ca237fd20638e162451Approve110973102021-09-21 3:48:505 days 16 hrs ago0xf74a81b3a3bd903763c371b9c35edbf47abc2904 IN  BR34P: RAKE Token0 BNB0.000101577
0xe976d02a0decc98dfb5e8c9034ba48742d43f4a8506da2e0797138f5dd598341Approve110951612021-09-21 2:01:235 days 18 hrs ago0xd7a89328d6d3b543cbdc5541d1c8062c18ca6c0b IN  BR34P: RAKE Token0 BNB0.000072555
0x13bb5aeabfc659ad71176584037f37e73e29d89dd8de7f0473c358e6479b9d02Approve110057442021-09-17 23:06:258 days 21 hrs ago0xb19ecfc45df91d7d730ce0879606072826ec7edf IN  BR34P: RAKE Token0 BNB0.000072555
0xb8392e28097896eceef5853822a341190ddb14a45fc5513e96ee64af5585110eApprove109920152021-09-17 11:39:119 days 8 hrs ago0x7242a0d14e6c143818dda25972818e2edfd1156e IN  BR34P: RAKE Token0 BNB0.00022203
0x01d25ea592346210b94978b58e66d47d3fd3fc175db000235326f94737c60fa0Approve109345502021-09-15 11:42:0411 days 8 hrs ago0x646456dc022c1c2f3e440999c91a43debe9062ef IN  BR34P: RAKE Token0 BNB0.00022203
0x9cd4c42b39ebd3de94ffa89436a5f5d68fea015e62029e7e395aa651fe90543dTransfer108948742021-09-14 2:28:2312 days 17 hrs ago0xf67eaf309b9f56eda4bd11fb591dfd5366012cc7 IN  BR34P: RAKE Token0 BNB0.000180545
0x665969816bc673ae7b6787fec131f75ca595e1e7143f92269b9d678e4ae50b48Approve108514482021-09-12 14:13:0314 days 6 hrs ago0x024662df0b0733395a7336d1c5fb6ac7bbb4d8e1 IN  BR34P: RAKE Token0 BNB0.00022203
0x57d3c1f4a49cfbdbea95e99cf8c0c0b30979ecdebf960ab9333d381d39f7b867Transfer108394262021-09-12 4:11:4814 days 16 hrs ago0xf755b9fc736643d278a726112b6246edf6a57419 IN  BR34P: RAKE Token0 BNB0.000105485
0x3f1111bda7c7a57fc072397e7dcf4db504fd38656c309937d982a3e9c24f4304Transfer108393542021-09-12 4:08:1214 days 16 hrs ago0xf755b9fc736643d278a726112b6246edf6a57419 IN  BR34P: RAKE Token0 BNB0.000138485
0x2b728e1ea688b29b6aefc8a69efba888a7468cf82c0cd747fdf429c370194c2dApprove108270132021-09-11 17:45:3315 days 2 hrs ago0x4088fc6a462dc78f51fd0279c9b4bf678c2b7a62 IN  BR34P: RAKE Token0 BNB0.000072555
0x0257993d3d5e201054940b47afa5913b02160067be1fb5f81ce587aa07066817Approve108260872021-09-11 16:59:0515 days 3 hrs ago0x94debc57081c4c58dd69f4dfce589b82fc3c2866 IN  BR34P: RAKE Token0 BNB0.000072555
0xd68d53471f9e8b490f4e4c715f1be1797e120b8f3199888cbdb96bdfe40775dfApprove108199912021-09-11 11:52:5415 days 8 hrs ago0x994f8c25cd7c989c6ffb90d716fccff8fdd143f6 IN  BR34P: RAKE Token0 BNB0.00022203
0x035982111270df4ac53884b8b1af268aa67a889cbbbe7f2697bda94f3f21d118Transfer107708352021-09-09 18:25:3617 days 1 hr ago0x0f2835b9d3687cdbf15c4126b4e8a5380bdf9cfb IN  BR34P: RAKE Token0 BNB0.000180545
0xbc56f553487a07669931c126ebfdf1ad6605005ebfc04104d71acf053f54f918Approve107225992021-09-08 1:47:4718 days 18 hrs ago0xf4a8742e26af803969b4175216a61006c4cc1799 IN  BR34P: RAKE Token0 BNB0.00022203
0x44e755d12a3b47f9d28460f85a2093cafbcce1a2b32c7ef7f0905084941707cdApprove106701202021-09-06 5:23:5920 days 14 hrs ago0xce5c4665e6c17d8dff8dba274b15c96464395779 IN  BR34P: RAKE Token0 BNB0.00044406
0xf44fcfbc5cab7583df29754d5866096b8de32529748e17784b5e01dac071b6e2Approve106630952021-09-05 23:32:2720 days 20 hrs ago0x0c6f93c08da36caae1ab192d08e701314f339277 IN  BR34P: RAKE Token0 BNB0.00022065
0xc068e3ffb664d08dfc08bfda389f5224d5c39a2a7b3b59cb58ceddc9238bf124Approve105555652021-09-02 5:15:2324 days 15 hrs ago0xb4725d86663275df2bf2c1630a82692d1bbb6a0d IN  BR34P: RAKE Token0 BNB0.00022203
0xfefc2eb0ecc5562084fcbc109adaf7c92e0d48d35771227ffb95824d657212cbApprove105130982021-08-31 17:23:2526 days 2 hrs ago0x25f89312f39938314b615e85211ff03d5d0088c0 IN  BR34P: RAKE Token0 BNB0.000072555
0x75fdd681c4f748d2dbd9d8b81fc25aec958e0f83e06ca3fc20982fe31244e98fApprove104702672021-08-30 4:58:1527 days 15 hrs ago0x83efb588a8370cf1ca760146e53cae5e06215161 IN  BR34P: RAKE Token0 BNB0.000101577
0x3680647e18d5d10301dcb3cb992dd6c9c65cf25222285efcb0a03db35ff6d6f3Approve104659492021-08-30 1:22:2127 days 18 hrs ago0x131619897f505aada5c3bf46ae387f2a43daba54 IN  BR34P: RAKE Token0 BNB0.000072555
0x51ded02d89be12336f1e4052b11d3dac8d6769af669fa391b2e620a37dda8fd0Approve104516702021-08-29 13:25:4028 days 6 hrs ago0x5485dac30911d3bbe51bc61b84f723160379d49f IN  BR34P: RAKE Token0 BNB0.00022203
[ Download CSV Export 

OVERVIEW

RAKE is a yield farming aggregator running on Binance Smart Chain (BSC). RAKE has no pre-farm, no pre-sales and with the goal of optimizing DeFi users' yield farming with low cost.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x6c9830c1fd8181e0c2b0a5316f37d469a91626e52e9d53b479fc27a69878b77254712982021-03-07 11:57:51203 days 8 hrs ago PancakeSwap: RAKE 3 BR34P: RAKE Token0 BNB
0x6c9830c1fd8181e0c2b0a5316f37d469a91626e52e9d53b479fc27a69878b77254712982021-03-07 11:57:51203 days 8 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 BR34P: RAKE Token0 BNB
0x6c9830c1fd8181e0c2b0a5316f37d469a91626e52e9d53b479fc27a69878b77254712982021-03-07 11:57:51203 days 8 hrs ago PancakeSwap: CHI-RAKE BR34P: RAKE Token0 BNB
0x6c9830c1fd8181e0c2b0a5316f37d469a91626e52e9d53b479fc27a69878b77254712982021-03-07 11:57:51203 days 8 hrs ago PancakeSwap: CHI-RAKE BR34P: RAKE Token0 BNB
0x27a2c93e4e14a9e5d49beca0cade325580cca841b325e61e23f0dc10c8a8a72254712942021-03-07 11:57:39203 days 8 hrs ago PancakeSwap: RAKE 3 BR34P: RAKE Token0 BNB
0x27a2c93e4e14a9e5d49beca0cade325580cca841b325e61e23f0dc10c8a8a72254712942021-03-07 11:57:39203 days 8 hrs ago 0xf235a5e5c8df3292114afce280d2a166f520d92e BR34P: RAKE Token0 BNB
0x27a2c93e4e14a9e5d49beca0cade325580cca841b325e61e23f0dc10c8a8a72254712942021-03-07 11:57:39203 days 8 hrs ago 1inch.exchange BR34P: RAKE Token0 BNB
0xb25a44b33bd0f9b8633cd081754cdec22fb090e8b780fcd8e9be4e84a507b1a854712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xb25a44b33bd0f9b8633cd081754cdec22fb090e8b780fcd8e9be4e84a507b1a854712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xb25a44b33bd0f9b8633cd081754cdec22fb090e8b780fcd8e9be4e84a507b1a854712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xb25a44b33bd0f9b8633cd081754cdec22fb090e8b780fcd8e9be4e84a507b1a854712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xb25a44b33bd0f9b8633cd081754cdec22fb090e8b780fcd8e9be4e84a507b1a854712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x1f45007a8f1da40a27b6659463f0d96689a41a0f06ecfeb4824a0e4dab5c470954712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x1f45007a8f1da40a27b6659463f0d96689a41a0f06ecfeb4824a0e4dab5c470954712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x1f45007a8f1da40a27b6659463f0d96689a41a0f06ecfeb4824a0e4dab5c470954712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x1f45007a8f1da40a27b6659463f0d96689a41a0f06ecfeb4824a0e4dab5c470954712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x1f45007a8f1da40a27b6659463f0d96689a41a0f06ecfeb4824a0e4dab5c470954712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xe65bd8231d67a3e565bd2a5031ac9834bfca99ecb4562340034716506b03f2bb54712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xe65bd8231d67a3e565bd2a5031ac9834bfca99ecb4562340034716506b03f2bb54712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xe65bd8231d67a3e565bd2a5031ac9834bfca99ecb4562340034716506b03f2bb54712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xe65bd8231d67a3e565bd2a5031ac9834bfca99ecb4562340034716506b03f2bb54712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0xe65bd8231d67a3e565bd2a5031ac9834bfca99ecb4562340034716506b03f2bb54712882021-03-07 11:57:21203 days 8 hrs ago 0x7f7bf15b9c68d23339c31652c8e860492991760d BR34P: RAKE Token0 BNB
0x8571b7eeeb825af432156d6f7aa959c789710f28642dffccbb4975fe66067be554712732021-03-07 11:56:36203 days 8 hrs ago PancakeSwap: Router BR34P: RAKE Token0 BNB
0x8571b7eeeb825af432156d6f7aa959c789710f28642dffccbb4975fe66067be554712732021-03-07 11:56:36203 days 8 hrs ago PancakeSwap: RAKE 3 BR34P: RAKE Token0 BNB
0x8571b7eeeb825af432156d6f7aa959c789710f28642dffccbb4975fe66067be554712732021-03-07 11:56:36203 days 8 hrs ago PancakeSwap: RAKE 3 BR34P: RAKE Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RAKE

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Rake.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.12;

// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount)
    external
    returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
    external
    view
    returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) public {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
    public
    virtual
    returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
    public
    virtual
    returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
abstract 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;
    }
}


contract RAKE is ERC20("RAKE", "RAKE"), Ownable {
    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060408051808201825260048082526352414b4560e01b60208084018281528551808701909652928552840152815191929161004e916003916100db565b5080516100629060049060208401906100db565b50506005805460ff1916601217905550600061007c6100d7565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061016e565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061011c57805160ff1916838001178555610149565b82800160010185558215610149579182015b8281111561014957825182559160200191906001019061012e565b50610155929150610159565b5090565b5b80821115610155576000815560010161015a565b610d6d8061017d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146102d9578063a9059cbb14610305578063dd62ed3e14610331578063f2fde38b1461035f576100f5565b806370a082311461027f578063715018a6146102a55780638da5cb5b146102ad57806395d89b41146102d1576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806340c10f1914610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610385565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b03813516906020013561041b565b604080519115158252519081900360200190f35b6101bf610438565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b0381358116916020810135909116906040013561043e565b61020f6104c5565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104ce565b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561051c565b005b6101bf6004803603602081101561029557600080fd5b50356001600160a01b0316610599565b61027d6105b4565b6102b5610673565b604080516001600160a01b039092168252519081900360200190f35b610102610687565b6101a3600480360360408110156102ef57600080fd5b506001600160a01b0381351690602001356106e8565b6101a36004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610750565b6101bf6004803603604081101561034757600080fd5b506001600160a01b0381358116916020013516610764565b61027d6004803603602081101561037557600080fd5b50356001600160a01b031661078f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104115780601f106103e657610100808354040283529160200191610411565b820191906000526020600020905b8154815290600101906020018083116103f457829003601f168201915b5050505050905090565b600061042f6104286108aa565b84846108ae565b50600192915050565b60025490565b600061044b84848461099a565b6104bb846104576108aa565b6104b685604051806060016040528060288152602001610cc7602891396001600160a01b038a166000908152600160205260408120906104956108aa565b6001600160a01b031681526020810191909152604001600020549190610a6b565b6108ae565b5060019392505050565b60055460ff1690565b600061042f6104db6108aa565b846104b685600160006104ec6108aa565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610b02565b6105246108aa565b60055461010090046001600160a01b0390811691161461058b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6105958282610b63565b5050565b6001600160a01b031660009081526020819052604090205490565b6105bc6108aa565b60055461010090046001600160a01b03908116911614610623576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104115780601f106103e657610100808354040283529160200191610411565b600061042f6106f56108aa565b846104b685604051806060016040528060258152602001610d13602591396001600061071f6108aa565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610a6b565b600061042f61075d6108aa565b848461099a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6107976108aa565b60055461010090046001600160a01b039081169116146107fe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166108435760405162461bcd60e51b8152600401808060200182810382526026815260200180610c596026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b0383166108f35760405162461bcd60e51b8152600401808060200182810382526024815260200180610cef6024913960400191505060405180910390fd5b6001600160a01b0382166109385760405162461bcd60e51b8152600401808060200182810382526022815260200180610c7f6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6109a5838383610c53565b6109e281604051806060016040528060268152602001610ca1602691396001600160a01b0386166000908152602081905260409020549190610a6b565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a119082610b02565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610afa5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610abf578181015183820152602001610aa7565b50505050905090810190601f168015610aec5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610b5c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610bbe576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610bca60008383610c53565b600254610bd79082610b02565b6002556001600160a01b038216600090815260208190526040902054610bfd9082610b02565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205e9e89b69ad3892342fcf8f0d9d879884d72d7c70d915d747d7496ab1113f9db64736f6c634300060c0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.