Latest 4 txns

TxHash Age From To Value [TxFee]
0x570637706076a92e2e5e3e3ce01ddbe275abca2db6b3198cea94c33f4455ef19169 days 5 hrs ago0x00360d2b7d240ec0643b6d819ba81a09e40e5bcd  IN   0x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether0.000052198
0xb4d8c78ad0d3bdfb1b9904212d591c14b40330304b2e8b487b70d55736d81817182 days 8 hrs ago0xd22abf44e2e2b3a9da3b84383c894f936925333c  IN   0x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether0.0009164
0x6524d2d159b9dcf9e1832968645b0e0a899d3e80a8017ec6bef9d1f58eec421a183 days 7 hrs ago0xd22abf44e2e2b3a9da3b84383c894f936925333c  IN   0x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether0.0006873
0xe08655967179ba665c17077e53a30229236d3bc189875da1b6a1587fe97fd2a5184 days 9 hrs ago0x00360d2b7d240ec0643b6d819ba81a09e40e5bcd  IN    Contract Creation0 Ether0.001799588
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 7 Internal Transactions

ParentTxHash Block Age From To Value
0xf50125c9e61c9784f5bfc0f6d7a74094151cf75713f84a6351fb48115dad10708468272182 days 8 hrs ago0x243a628336c776323b711881e76d4db9b94e8c220x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0xf50125c9e61c9784f5bfc0f6d7a74094151cf75713f84a6351fb48115dad10708468272182 days 8 hrs ago0x243a628336c776323b711881e76d4db9b94e8c220x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0xe6039e29714d61d479116da15bda30ae31f9b252973ab8426fedf6db234ddc5d8468091182 days 8 hrs ago0xd04dd4404b194fbcaf765c81ab39552e957eba080x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0x1a0fe883e5eb017434291f5f35c6673a46d66429c71cab5e5928fbb6986f08128457318183 days 7 hrs ago0xd425ed956b09588ce5f27ce2ad158a6fa37e5bf30x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0x1a0fe883e5eb017434291f5f35c6673a46d66429c71cab5e5928fbb6986f08128457318183 days 7 hrs ago0xd425ed956b09588ce5f27ce2ad158a6fa37e5bf30x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0x48a09802c875129896f1f4103c066c0a7cf67146effaa3b52af66e16e5dd9c398457057183 days 7 hrs ago0x87778cea459dd456ebcb0c8b409c834bc6903baf0x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
0x67f0d1cda59d748ebc75d6941b37ba58b58ccfb3f0e958f50ffc4d79d4b8020e8456943183 days 7 hrs ago0xe43b0e060fd26306e631c9194b3a16dc311d41b30x1d217ad1bf8c87e70188fddb16a51a6742cc99990 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Verified Source Code for Contract 0x31f7e02b09b4d6ab5d57a8f48ec06b288feb7ecb
Contract Name: PreminedAsset
Compiler Version: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  1



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.13;

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

contract Asset is DSMath, ERC20Interface {

    // DATA STRUCTURES

    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowed;
    uint public _totalSupply;

    // PUBLIC METHODS

    /**
     * @notice Send `_value` tokens to `_to` from `msg.sender`
     * @dev Transfers sender's tokens to a given address
     * @dev Similar to transfer(address, uint, bytes), but without _data parameter
     * @param _to Address of token receiver
     * @param _value Number of tokens to transfer
     * @return Returns success of function call
     */
    function transfer(address _to, uint _value)
        public
        returns (bool success)
    {
        require(balances[msg.sender] >= _value); // sanity checks
        require(balances[_to] + _value >= balances[_to]);

        balances[msg.sender] = sub(balances[msg.sender], _value);
        balances[_to] = add(balances[_to], _value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
    /// @notice Transfer `_value` tokens from `_from` to `_to` if `msg.sender` is allowed.
    /// @notice Restriction: An account can only use this function to send to itself
    /// @dev Allows for an approved third party to transfer tokens from one
    /// address to another. Returns success.
    /// @param _from Address from where tokens are withdrawn.
    /// @param _to Address to where tokens are sent.
    /// @param _value Number of tokens to transfer.
    /// @return Returns success of function call.
    function transferFrom(address _from, address _to, uint _value)
        public
        returns (bool)
    {
        require(_from != address(0));
        require(_to != address(0));
        require(_to != address(this));
        require(balances[_from] >= _value);
        require(allowed[_from][msg.sender] >= _value);
        require(balances[_to] + _value >= balances[_to]);
        // require(_to == msg.sender); // can only use transferFrom to send to self

        balances[_to] += _value;
        balances[_from] -= _value;
        allowed[_from][msg.sender] -= _value;

        emit Transfer(_from, _to, _value);
        return true;
    }

    /// @notice Allows `_spender` to transfer `_value` tokens from `msg.sender` to any address.
    /// @dev Sets approved amount of tokens for spender. Returns success.
    /// @param _spender Address of allowed account.
    /// @param _value Number of approved tokens.
    /// @return Returns success of function call.
    function approve(address _spender, uint _value) public returns (bool) {
        require(_spender != address(0));

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // PUBLIC VIEW METHODS

    /// @dev Returns number of allowed tokens that a spender can transfer on
    /// behalf of a token owner.
    /// @param _owner Address of token owner.
    /// @param _spender Address of token spender.
    /// @return Returns remaining allowance for spender.
    function allowance(address _owner, address _spender)
        constant
        public
        returns (uint)
    {
        return allowed[_owner][_spender];
    }

    /// @dev Returns number of tokens owned by the given address.
    /// @param _owner Address of token owner.
    /// @return Returns balance of owner.
    function balanceOf(address _owner) constant public returns (uint) {
        return balances[_owner];
    }

    function totalSupply() view public returns (uint) {
        return _totalSupply;
    }
}

contract PreminedAsset is Asset {

    // Constructor fields
    uint public decimals;

    /// @notice Asset with 10 ** 28 of premined token given to msg.sender
    function PreminedAsset(uint _decimals) {
        decimals = _decimals;
        balances[msg.sender] = 10 ** uint256(28);
        _totalSupply = 10 ** uint256(28);
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_decimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b5060405160208061053783398101604090815290516003553360009081526020819052206b204fce5e3e25026110000000908190556002556104e0806100576000396000f3006080604052600436106100745763ffffffff60e060020a600035041663095ea7b3811461007957806318160ddd146100b157806323b872dd146100d8578063313ce567146101025780633eaaf86b1461011757806370a082311461012c578063a9059cbb1461014d578063dd62ed3e14610171575b600080fd5b34801561008557600080fd5b5061009d600160a060020a0360043516602435610198565b604080519115158252519081900360200190f35b3480156100bd57600080fd5b506100c6610217565b60408051918252519081900360200190f35b3480156100e457600080fd5b5061009d600160a060020a036004358116906024351660443561021d565b34801561010e57600080fd5b506100c661034f565b34801561012357600080fd5b506100c6610355565b34801561013857600080fd5b506100c6600160a060020a036004351661035b565b34801561015957600080fd5b5061009d600160a060020a0360043516602435610376565b34801561017d57600080fd5b506100c6600160a060020a0360043581169060243516610449565b6000600160a060020a03831615156101af57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025490565b6000600160a060020a038416151561023457600080fd5b600160a060020a038316151561024957600080fd5b600160a060020a03831630141561025f57600080fd5b600160a060020a03841660009081526020819052604090205482111561028457600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156102b457600080fd5b600160a060020a03831660009081526020819052604090205482810110156102db57600080fd5b600160a060020a0380841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391926000805160206104958339815191529281900390910190a35060019392505050565b60035481565b60025481565b600160a060020a031660009081526020819052604090205490565b3360009081526020819052604081205482111561039257600080fd5b600160a060020a03831660009081526020819052604090205482810110156103b957600080fd5b336000908152602081905260409020546103d39083610474565b3360009081526020819052604080822092909255600160a060020a038516815220546103ff9083610484565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233926000805160206104958339815191529281900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b8082038281111561021157600080fd5b8082018281101561021157600080fd00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ec95b865169782b0818e6fdb3cd3f4c07c89df3ef330a11f96909b38ad17831400290000000000000000000000000000000000000000000000000000000000000012

   Swarm Source:
bzzr://ec95b865169782b0818e6fdb3cd3f4c07c89df3ef330a11f96909b38ad178314

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward