Contract 0xaf651eacd440f410bcc4539b7eb57219555b8b17

 
Txn Hash
Block
From
To
Value
0x4a6338269ca1d6bdb87f77b9b076c6ae6a4d2a86f453a99c6b89950bb9127166(pending)2021-03-08 18:09:4236 mins ago0xc1807ef56ac2d0a3c8186aebf5b26b933f3cc37c IN 0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether(Pending)(Pending)
0xd0f648db80e4ebed8633ba1e733a6ce6e51a8626a3f4c4f923ef736c4843458e119363312021-02-27 1:13:099 days 17 hrs ago0x915bf8b8ab81bab3994887561e25ef2d5ba3cde1 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.01254798108
0x5be6b5dac954781435547143a367e53e8e7a8d7dc7b16f4ed3906228afe79175119047012021-02-22 4:32:1714 days 14 hrs ago0xb661a5898ad8217d18120d3c1e2a5109cfecfdf2 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.026182992132
0x86a616700135e6e7d68cc547f6fc2c3d0961f0f05ec0db95ae2cd3a5a53753ae118720042021-02-17 3:58:2419 days 14 hrs ago0x7b34627cb1aa6fb95d37579360ba650489b1002a IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0163288645111.7
0x10259b5450f095dddf3ba965149bd3a17c8cc845a550c6f1eb51d7670e4f8f37118529752021-02-14 5:35:4622 days 13 hrs ago0xcff91ac4d1f57feff61bc34f91fdbb8b21b78857 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.01805148891
0x3e5cec0f5294596bb15c03e33311df2e9049cffca106864dfa249a8fc63414c3118529752021-02-14 5:35:4622 days 13 hrs ago0xcff91ac4d1f57feff61bc34f91fdbb8b21b78857 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0019439190
0xc6cfa0e337e7fd464338c374978a299c49c96116d62d431df8746784522968bd118528592021-02-14 5:13:0122 days 13 hrs ago0xcff91ac4d1f57feff61bc34f91fdbb8b21b78857 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.00207502003396.070189999
0xdf53212b998b6a6141bec07c72a07b3a892caeedd6efc0a774a7f50924d3b928118528562021-02-14 5:12:2922 days 13 hrs ago0xcff91ac4d1f57feff61bc34f91fdbb8b21b78857 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.00207502003396.070189999
0xca280d7b926eed0bfbbc219f1098a49ce7af5a630ba25daa9b1dd7ca40e2d703118528462021-02-14 5:11:2822 days 13 hrs ago0xcff91ac4d1f57feff61bc34f91fdbb8b21b78857 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0021599100
0x16ebfc1c20677baa6913cce263de1e6a112390ce6e92a258d82afd7c2e7f11e3118164852021-02-08 14:59:2828 days 3 hrs ago0xe0322bebc0ee3b19003bf45fb66cc5cda11cd80d IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.046070402434
0xb4fecca35c6549eab101f42bcbdcee8985e74f9191eff6cb5d5f34ec91b2366d118141952021-02-08 6:36:3328 days 12 hrs ago0x01a201a1698e630653183ea18440f1d2b8c6cccf IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.01350503110
0x08dcd499115667cbb7a022e3d9b60fef03c042d37cc220acfd4eecef8aa9b2eb118075412021-02-07 5:57:4429 days 12 hrs ago0xd874f33980511e6ec46cc44a077fe2c5a70f5f6b IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.019376768128
0x68dcface5c6b200cedb1ff24c954efd142f5ccf9fdd2428d18b6af19ed1d31ce118049232021-02-06 20:30:0229 days 22 hrs ago0x01a201a1698e630653183ea18440f1d2b8c6cccf IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.021620804109
0xb0ea39ab870f4f0432abceaec6a7d257af73cf9b3bcded15e43a8687bec8773c118048332021-02-06 20:11:4529 days 22 hrs ago0x7b34627cb1aa6fb95d37579360ba650489b1002a IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.024204576132
0xf875b1d41404184d8a5b73c756de8019e858675817cbf1bd322db9b0870f2fd9118048332021-02-06 20:11:4529 days 22 hrs ago0x7b34627cb1aa6fb95d37579360ba650489b1002a IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0026609968123.2
0x547e690d9be8f24d44f15fd8e70e6e8a777b78d440d688626ccc7726fa238029117898522021-02-04 12:48:1132 days 5 hrs ago0xa30da7f10bbaf3bc2f2f988ed3f12d486397f454 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.040521676221
0xb506840421a832250c276161fac5379a2d5e828afe6435e082faf090780f6ef6117894622021-02-04 11:14:4032 days 7 hrs ago0x021a36a9f5148cc79af3058c268838b850717154 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0220056120
0x488b10ba06a8e15d10281184a302f4d1cd529efbbc53433d096594c25e8dd66a117879172021-02-04 5:41:2232 days 13 hrs ago0x021a36a9f5148cc79af3058c268838b850717154 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0174116
0x781088c803aa82d083800c39a22fe29579a8ce66df0157893319d0e9e401b837117874232021-02-04 3:48:1432 days 14 hrs ago0x6237f0372e90e44f17a51d53c673ee19e139c9d3 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0099238200
0xa9ce78e0e939308b5097450f33cffa3120128f37db5abfe242e15e26904eb627117785112021-02-02 18:43:2434 days 2 mins ago0xc23e8321cab02cdbb8689c43c7b72c6a631d9503 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.024569704134
0x013a60046c0b353950e4521a44933a760e23bca00ec5001ac6ac9ee38240677b117778002021-02-02 16:09:4434 days 2 hrs ago0x6cba1efb8d0490b03f4cf1525c7d69f3bfd4a6eb IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0396712200
0x7714453383baec0bd5a41fe8356d183d1e2cf7c0652e44898fdba880ded93657117774602021-02-02 14:52:3034 days 3 hrs ago0xa03857ef7c1768a6f52a77a8d8589e83cdfcaf89 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.0035140
0xe19aa3fc6cbe346b9a3de4cab3323e4f69fab18fe7ba61e6961fca7eaf86ce7b117691032021-02-01 7:55:5535 days 10 hrs ago0x60e6e08c7be717aba87576cfdcdcea5e7b13a046 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.015731944885.8
0xdb53893949a834787bacd36d59ff2e108f69a995d17cf0ecd4de3213e6ba90a6117509032021-01-29 12:48:0638 days 5 hrs ago0x12148866619f098e839fa4c96c2650b030de0be7 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.01595197287
0x578f839be2a347be5568c52804df49dae18f9766b67f6887ab63abbfc9b2504a117466722021-01-28 21:06:5938 days 21 hrs ago0xa528f6b211d75aaec9c62209cceccfbf53789181 IN  0xaf651eacd440f410bcc4539b7eb57219555b8b170 Ether0.009167250
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CarrotStake

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-12-27
*/

/**
   ______                      __  _____ __        __      
  / ____/___ _______________  / /_/ ___// /_____ _/ /_____ 
 / /   / __ `/ ___/ ___/ __ \/ __/\__ \/ __/ __ `/ //_/ _ \
/ /___/ /_/ / /  / /  / /_/ / /_ ___/ / /_/ /_/ / ,< /  __/
\____/\__,_/_/  /_/   \____/\__//____/\__/\__,_/_/|_|\___/ 

*/
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

library EnumerableSet {

    struct Set {
        bytes32[] _values;

        mapping (bytes32 => uint256) _indexes;
    }

    function _add(Set storage set, bytes32 value) private returns (bool) {
        if (!_contains(set, value)) {
            set._values.push(value);

            set._indexes[value] = set._values.length;
            return true;
        } else {
            return false;
        }
    }

    function _remove(Set storage set, bytes32 value) private returns (bool) {
        // We read and store the value's index to prevent multiple reads from the same storage slot
        uint256 valueIndex = set._indexes[value];

        if (valueIndex != 0) { // Equivalent to contains(set, value)
        
            uint256 toDeleteIndex = valueIndex - 1;
            uint256 lastIndex = set._values.length - 1;


            bytes32 lastvalue = set._values[lastIndex];

            // Move the last value to the index where the value to delete is
            set._values[toDeleteIndex] = lastvalue;
            // Update the index for the moved value
            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based

            // Delete the slot where the moved value was stored
            set._values.pop();

            // Delete the index for the deleted slot
            delete set._indexes[value];

            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function _contains(Set storage set, bytes32 value) private view returns (bool) {
        return set._indexes[value] != 0;
    }

    function _length(Set storage set) private view returns (uint256) {
        return set._values.length;
    }

    function _at(Set storage set, uint256 index) private view returns (bytes32) {
        require(set._values.length > index, "EnumerableSet: index out of bounds");
        return set._values[index];
    }

    // AddressSet

    struct AddressSet {
        Set _inner;
    }

    function add(AddressSet storage set, address value) internal returns (bool) {
        return _add(set._inner, bytes32(uint256(value)));
    }

    function remove(AddressSet storage set, address value) internal returns (bool) {
        return _remove(set._inner, bytes32(uint256(value)));
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function contains(AddressSet storage set, address value) internal view returns (bool) {
        return _contains(set._inner, bytes32(uint256(value)));
    }

    /**
     * @dev Returns the number of values in the set. O(1).
     */
    function length(AddressSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(AddressSet storage set, uint256 index) internal view returns (address) {
        return address(uint256(_at(set._inner, index)));
    }


    // UintSet

    struct UintSet {
        Set _inner;
    }

    function add(UintSet storage set, uint256 value) internal returns (bool) {
        return _add(set._inner, bytes32(value));
    }

    function remove(UintSet storage set, uint256 value) internal returns (bool) {
        return _remove(set._inner, bytes32(value));
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function contains(UintSet storage set, uint256 value) internal view returns (bool) {
        return _contains(set._inner, bytes32(value));
    }

    function length(UintSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(UintSet storage set, uint256 index) internal view returns (uint256) {
        return uint256(_at(set._inner, index));
    }
}

contract Ownable {
  address public owner;


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

  constructor() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}


interface Token {
    function transferFrom(address, address, uint) external returns (bool);
    function transfer(address, uint) external returns (bool);
}

contract CarrotStake is Ownable {
    using SafeMath for uint;
    using EnumerableSet for EnumerableSet.AddressSet;
    
    event RewardsTransferred(address holder, uint amount);
    
    address public constant tokenAddress = 0xa08dE8f020644DCcd0071b3469b45B08De41C38b;  // Carrot Governance token contract address
    
    // reward rate 395.00% per year
    uint public constant rewardRate = 39500;
    uint public constant rewardInterval = 365 days;  // 7,57% per week
    
    // staking fee 1 %
    uint public constant stakingFeeRate = 100;
    
    // unstaking fee 0.5 %
    uint public constant unstakingFeeRate = 50;
    
    uint public constant unstakeTime = 1 seconds;  // unstaking possible after 1 seconds
    
    uint public totalClaimedRewards = 0;
    
    EnumerableSet.AddressSet private holders;
    
    mapping (address => uint) public depositedTokens;
    mapping (address => uint) public stakingTime;
    mapping (address => uint) public lastClaimedTime;
    mapping (address => uint) public totalEarnedTokens;
    
    function updateAccount(address account) private {
        uint pendingDivs = getPendingDivs(account);
        if (pendingDivs > 0) {
            require(Token(tokenAddress).transfer(account, pendingDivs), "Could not transfer tokens.");
            totalEarnedTokens[account] = totalEarnedTokens[account].add(pendingDivs);
            totalClaimedRewards = totalClaimedRewards.add(pendingDivs);
            emit RewardsTransferred(account, pendingDivs);
        }
        lastClaimedTime[account] = now;
    }
    
    function getPendingDivs(address _holder) public view returns (uint) {
        if (!holders.contains(_holder)) return 0;
        if (depositedTokens[_holder] == 0) return 0;

        uint timeDiff = now.sub(lastClaimedTime[_holder]);
        uint stakedAmount = depositedTokens[_holder];
        
        uint pendingDivs = stakedAmount
                            .mul(rewardRate)
                            .mul(timeDiff)
                            .div(rewardInterval)
                            .div(36e3);
            
        return pendingDivs;
    }
    
    function getNumberOfHolders() public view returns (uint) {
        return holders.length();
    }
    
    
    function deposit(uint amountToStake) public {
        require(amountToStake > 0, "Cannot deposit 0 Tokens");
        require(Token(tokenAddress).transferFrom(msg.sender, address(this), amountToStake), "Insufficient Token Allowance");
        
        updateAccount(msg.sender);
        
        uint burnedAmount = amountToStake.div(1e2).mul(5);
        uint actualAmount = amountToStake.sub(burnedAmount);
        uint fee = actualAmount.mul(stakingFeeRate).div(1e4);
        uint amountAfterFee = actualAmount.sub(fee);
        require(Token(tokenAddress).transfer(owner, fee), "Could not transfer deposit fee.");
        
        depositedTokens[msg.sender] = depositedTokens[msg.sender].add(amountAfterFee);
        
        if (!holders.contains(msg.sender)) {
            holders.add(msg.sender);
            stakingTime[msg.sender] = now;
        }
    }
    
    function withdraw(uint amountToWithdraw) public {
        require(depositedTokens[msg.sender] >= amountToWithdraw, "Invalid amount to withdraw");
        
        require(now.sub(stakingTime[msg.sender]) > unstakeTime, "You recently staked, please wait before withdrawing.");
        
        updateAccount(msg.sender);
        
        uint fee = amountToWithdraw.mul(unstakingFeeRate).div(1e4);
        uint amountAfterFee = amountToWithdraw.sub(fee);
        
        require(Token(tokenAddress).transfer(owner, fee), "Could not transfer withdraw fee.");
        require(Token(tokenAddress).transfer(msg.sender, amountAfterFee), "Could not transfer tokens.");
        
        depositedTokens[msg.sender] = depositedTokens[msg.sender].sub(amountToWithdraw);
        
        if (holders.contains(msg.sender) && depositedTokens[msg.sender] == 0) {
            holders.remove(msg.sender);
        }
    }
    
    function claimDivs() public {
        updateAccount(msg.sender);
    }
    
    
    uint private constant stakingAndCarrots = 1e25; //PoolSuplly generated from zero address
    
    function getStakingAndDAOAmount() public view returns (uint) {
        if (totalClaimedRewards >= stakingAndCarrots) {
            return 0;
        }
        uint remaining = stakingAndCarrots.sub(totalClaimedRewards);
        return remaining;
    }
      // function to allow admin to claim *other* ERC20 tokens sent to this contract (by mistake)
    function transferAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
        if (_tokenAddr == tokenAddress) {
            if (_amount > getStakingAndDAOAmount()) {
                revert();
            }
            totalClaimedRewards = totalClaimedRewards.add(_amount);
        }
        Token(_tokenAddr).transfer(_to, _amount);
    }
  
}

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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsTransferred","type":"event"},{"inputs":[],"name":"claimDivs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToStake","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"getPendingDivs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingAndDAOAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastClaimedTime","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":"rewardInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEarnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unstakingFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToWithdraw","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600060015534801561001557600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a62806100656000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d76ea58116100ad578063d7e5274511610071578063d7e5274514610463578063d816c7d514610481578063dab301da1461049f578063f2fde38b146104bd578063f3f91fa0146105015761012c565b80639d76ea581461036d578063b6b55f25146103a1578063bec4de3f146103cf578063c326bf4f146103ed578063d578ceab146104455761012c565b80636270cd18116100f45780636270cd18146101fd5780636a395ccb146102555780637b0a47ee146102c35780638da5cb5b146102e157806398896d10146103155761012c565b806319aa70e7146101315780632e1a7d4d1461013b578063308feec314610169578063583d42fd146101875780635ef057be146101df575b600080fd5b610139610559565b005b6101676004803603602081101561015157600080fd5b8101908080359060200190929190505050610564565b005b610171610aa7565b6040518082815260200191505060405180910390f35b6101c96004803603602081101561019d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab8565b6040518082815260200191505060405180910390f35b6101e7610ad0565b6040518082815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad5565b6040518082815260200191505060405180910390f35b6102c16004803603606081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aed565b005b6102cb610c6f565b6040518082815260200191505060405180910390f35b6102e9610c75565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103576004803603602081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c99565b6040518082815260200191505060405180910390f35b610375610e08565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103cd600480360360208110156103b757600080fd5b8101908080359060200190929190505050610e20565b005b6103d76112d4565b6040518082815260200191505060405180910390f35b61042f6004803603602081101561040357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112dc565b6040518082815260200191505060405180910390f35b61044d6112f4565b6040518082815260200191505060405180910390f35b61046b6112fa565b6040518082815260200191505060405180910390f35b6104896112ff565b6040518082815260200191505060405180910390f35b6104a7611304565b6040518082815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134f565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b6040518082815260200191505060405180910390f35b610562336114b6565b565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420616d6f756e7420746f20776974686472617700000000000081525060200191505060405180910390fd5b600161066d600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b116106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806119f96034913960400191505060405180910390fd5b6106cc336114b6565b60006106f66127106106e860328561176390919063ffffffff16565b61179290919063ffffffff16565b9050600061070d828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b505050506040513d60208110156107de57600080fd5b8101908080519060200190929190505050610861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f756c64206e6f74207472616e73666572207769746864726177206665652e81525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108e657600080fd5b505af11580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b8101908080519060200190929190505050610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b6109e583600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174c90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3c3360026117ab90919063ffffffff16565b8015610a8757506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610aa257610aa03360026117db90919063ffffffff16565b505b505050565b6000610ab3600261180b565b905090565b60056020528060005260406000206000915090505481565b606481565b60076020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4557600080fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbd57610b95611304565b811115610ba157600080fd5b610bb68160015461182090919063ffffffff16565b6001819055505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c2e57600080fd5b505af1158015610c42573d6000803e3d6000fd5b505050506040513d6020811015610c5857600080fd5b810190808051906020019092919050505050505050565b619a4c81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610caf8260026117ab90919063ffffffff16565b610cbc5760009050610e03565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d0d5760009050610e03565b6000610d61600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b90506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000610dfa618ca0610dec6301e13380610dde87610dd0619a4c8961176390919063ffffffff16565b61176390919063ffffffff16565b61179290919063ffffffff16565b61179290919063ffffffff16565b90508093505050505b919050565b73a08de8f020644dccd0071b3469b45b08de41c38b81565b60008111610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616e6e6f74206465706f736974203020546f6b656e7300000000000000000081525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d6020811015610f6357600080fd5b8101908080519060200190929190505050610fe6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e73756666696369656e7420546f6b656e20416c6c6f77616e63650000000081525060200191505060405180910390fd5b610fef336114b6565b6000611018600561100a60648561179290919063ffffffff16565b61176390919063ffffffff16565b9050600061102f828461174c90919063ffffffff16565b9050600061105b61271061104d60648561176390919063ffffffff16565b61179290919063ffffffff16565b90506000611072828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b81019080805190602001909291905050506111c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f756c64206e6f74207472616e73666572206465706f736974206665652e0081525060200191505060405180910390fd5b61121881600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126f3360026117ab90919063ffffffff16565b6112cd5761128733600261183c90919063ffffffff16565b5042600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505050565b6301e1338081565b60046020528060005260406000206000915090505481565b60015481565b600181565b603281565b60006a084595161401484a00000060015410611323576000905061134c565b60006113456001546a084595161401484a00000061174c90919063ffffffff16565b9050809150505b90565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915090505481565b60006114c182610c99565b905060008111156117045773a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561155157600080fd5b505af1158015611565573d6000803e3d6000fd5b505050506040513d602081101561157b57600080fd5b81019080805190602001909291905050506115fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b61165081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a88160015461182090919063ffffffff16565b6001819055507f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1308282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111561175857fe5b818303905092915050565b6000808284029050600084148061178257508284828161177f57fe5b04145b61178857fe5b8091505092915050565b60008082848161179e57fe5b0490508091505092915050565b60006117d3836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61186c565b905092915050565b6000611803836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61188f565b905092915050565b600061181982600001611977565b9050919050565b60008082840190508381101561183257fe5b8091505092915050565b6000611864836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611988565b905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461196b57600060018203905060006001866000018054905003905060008660000182815481106118da57fe5b90600052602060002001549050808760000184815481106118f757fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061192f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611971565b60009150505b92915050565b600081600001805490509050919050565b6000611994838361186c565b6119ed5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506119f2565b600090505b9291505056fe596f7520726563656e746c79207374616b65642c20706c656173652077616974206265666f7265207769746864726177696e672ea26469706673582212209d55c0ea5a7644a897293f7b2010e66163b9d50019535f6a359d263f97de8ea364736f6c634300060c0033

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.