ETH Price: $2,638.25 (+1.94%)

Contract

0xc4AF083E9Ce938b0f4644B6fbAaDe8d52F050494
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer42973762017-09-21 6:14:252697 days ago1505974465IN
0xc4AF083E...52F050494
0 ETH0.00003721
Transfer38494812017-06-10 8:22:232800 days ago1497082943IN
0xc4AF083E...52F050494
0 ETH0.0011203221.45962771
Transfer38439672017-06-09 7:13:382801 days ago1496992418IN
0xc4AF083E...52F050494
0 ETH0.0011228221.50755485
Transfer38429472017-06-09 2:25:112801 days ago1496975111IN
0xc4AF083E...52F050494
0 ETH0.0010441220
Transfer38419952017-06-08 22:05:212801 days ago1496959521IN
0xc4AF083E...52F050494
0 ETH0.0011945622.88176795
Transfer38419922017-06-08 22:04:222801 days ago1496959462IN
0xc4AF083E...52F050494
0 ETH0.0008498722.88176795
Mint Token38391302017-06-08 8:56:372802 days ago1496912197IN
0xc4AF083E...52F050494
0 ETH0.000839622
Transfer38371442017-06-07 23:45:172802 days ago1496879117IN
0xc4AF083E...52F050494
0 ETH0.0010428420
Transfer38371122017-06-07 23:33:232802 days ago1496878403IN
0xc4AF083E...52F050494
0 ETH0.0010441220
Transfer38371072017-06-07 23:32:002802 days ago1496878320IN
0xc4AF083E...52F050494
0 ETH0.0010428420
Transfer38356452017-06-07 16:54:122803 days ago1496854452IN
0xc4AF083E...52F050494
0 ETH0.001152422.07422785
Transfer38334022017-06-07 6:46:512803 days ago1496818011IN
0xc4AF083E...52F050494
0 ETH0.0011485322

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xC4742D73...39dEaba51
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
MyAdvancedToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-06-30
*/

pragma solidity ^0.4.2;
contract owned {
    address public owner;

    function owned() {
        owner = msg.sender;
    }

    modifier onlyOwner {
        if (msg.sender != owner) throw;
        _;
    }

    function transferOwnership(address newOwner) onlyOwner {
        owner = newOwner;
    }
}

contract tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); }

contract token {
    /* Public variables of the token */
    string public standard = 'Token 0.1';
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;

    /* This creates an array with all balances */
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    /* This generates a public event on the blockchain that will notify clients */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function token(
        uint256 initialSupply,
        string tokenName,
        uint8 decimalUnits,
        string tokenSymbol
        ) {
        balanceOf[msg.sender] = initialSupply;              // Give the creator all initial tokens
        totalSupply = initialSupply;                        // Update total supply
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
        decimals = decimalUnits;                            // Amount of decimals for display purposes
    }

    /* Send coins */
    function transfer(address _to, uint256 _value) {
        if (balanceOf[msg.sender] < _value) throw;           // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw; // Check for overflows
        balanceOf[msg.sender] -= _value;                     // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        Transfer(msg.sender, _to, _value);                   // Notify anyone listening that this transfer took place
    }

    /* Allow another contract to spend some tokens in your behalf */
    function approve(address _spender, uint256 _value)
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /* Approve and then communicate the approved contract in a single tx */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        returns (bool success) {    
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /* A contract attempts to get the coins */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        if (balanceOf[_from] < _value) throw;                 // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw;  // Check for overflows
        if (_value > allowance[_from][msg.sender]) throw;   // Check allowance
        balanceOf[_from] -= _value;                          // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        allowance[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    /* This unnamed function is called whenever someone tries to send ether to it */
    function () {
        throw;     // Prevents accidental sending of ether
    }
}

contract MyAdvancedToken is owned, token {

    uint256 public sellPrice;
    uint256 public buyPrice;

    mapping (address => bool) public frozenAccount;

    /* This generates a public event on the blockchain that will notify clients */
    event FrozenFunds(address target, bool frozen);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function MyAdvancedToken(
        uint256 initialSupply,
        string tokenName,
        uint8 decimalUnits,
        string tokenSymbol
    ) token (initialSupply, tokenName, decimalUnits, tokenSymbol) {}

    /* Send coins */
    function transfer(address _to, uint256 _value) {
        if (balanceOf[msg.sender] < _value) throw;           // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw; // Check for overflows
        if (frozenAccount[msg.sender]) throw;                // Check if frozen
        balanceOf[msg.sender] -= _value;                     // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        Transfer(msg.sender, _to, _value);                   // Notify anyone listening that this transfer took place
    }


    /* A contract attempts to get the coins */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        if (frozenAccount[_from]) throw;                        // Check if frozen            
        if (balanceOf[_from] < _value) throw;                 // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) throw;  // Check for overflows
        if (_value > allowance[_from][msg.sender]) throw;   // Check allowance
        balanceOf[_from] -= _value;                          // Subtract from the sender
        balanceOf[_to] += _value;                            // Add the same to the recipient
        allowance[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    function mintToken(address target, uint256 mintedAmount) onlyOwner {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        Transfer(0, this, mintedAmount);
        Transfer(this, target, mintedAmount);
    }

    function freezeAccount(address target, bool freeze) onlyOwner {
        frozenAccount[target] = freeze;
        FrozenFunds(target, freeze);
    }

    function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyOwner {
        sellPrice = newSellPrice;
        buyPrice = newBuyPrice;
    }

    function buy() payable {
        uint amount = msg.value / buyPrice;                // calculates the amount
        if (balanceOf[this] < amount) throw;               // checks if it has enough to sell
        balanceOf[msg.sender] += amount;                   // adds the amount to buyer's balance
        balanceOf[this] -= amount;                         // subtracts amount from seller's balance
        Transfer(this, msg.sender, amount);                // execute an event reflecting the change
    }

    function sell(uint256 amount) {
        if (balanceOf[msg.sender] < amount ) throw;        // checks if the sender has enough to sell
        balanceOf[this] += amount;                         // adds the amount to owner's balance
        balanceOf[msg.sender] -= amount;                   // subtracts the amount from seller's balance
        if (!msg.sender.send(amount * sellPrice)) {        // sends ether to the seller. It's important
            throw;                                         // to do this last to avoid recursion attacks
        } else {
            Transfer(msg.sender, this, amount);            // executes an event reflecting on the change
        }               
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newSellPrice","type":"uint256"},{"name":"newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"decimalUnits","type":"uint8"},{"name":"tokenSymbol","type":"string"}],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

Deployed Bytecode

0x6060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305fefda7811461013057806306fdde0314610148578063095ea7b3146101d857806318160ddd1461020b57806323b872dd1461022d578063313ce567146102665780634b7503341461028c5780635a3b7e42146102ae57806370a082311461033e57806379c650681461036c5780638620410b1461038d5780638da5cb5b146103af57806395d89b41146103db578063a6f2ae3a1461046b578063a9059cbb14610475578063b414d4b614610496578063cae9ca51146104c6578063dd62ed3e1461053d578063e4849b3214610571578063e724529c14610586578063f2fde38b146105a9575b341561012257fe5b61012e5b60006000fd5b565b005b341561013857fe5b61012e6004356024356105c7565b005b341561015057fe5b6101586105f3565b60408051602080825283518183015283519192839290830191850190808383821561019e575b80518252602083111561019e57601f19909201916020918201910161017e565b505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e057fe5b6101f7600160a060020a036004351660243561067e565b604080519115158252519081900360200190f35b341561021357fe5b61021b6106af565b60408051918252519081900360200190f35b341561023557fe5b6101f7600160a060020a03600435811690602435166044356106b5565b604080519115158252519081900360200190f35b341561026e57fe5b6102766107d9565b6040805160ff9092168252519081900360200190f35b341561029457fe5b61021b6107e2565b60408051918252519081900360200190f35b34156102b657fe5b6101586107e8565b60408051602080825283518183015283519192839290830191850190808383821561019e575b80518252602083111561019e57601f19909201916020918201910161017e565b505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034657fe5b61021b600160a060020a0360043516610875565b60408051918252519081900360200190f35b341561037457fe5b61012e600160a060020a0360043516602435610887565b005b341561039557fe5b61021b610931565b60408051918252519081900360200190f35b34156103b757fe5b6103bf610937565b60408051600160a060020a039092168252519081900360200190f35b34156103e357fe5b610158610946565b60408051602080825283518183015283519192839290830191850190808383821561019e575b80518252602083111561019e57601f19909201916020918201910161017e565b505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61012e6109d4565b005b341561047d57fe5b61012e600160a060020a0360043516602435610a6a565b005b341561049e57fe5b6101f7600160a060020a0360043516610b3a565b604080519115158252519081900360200190f35b34156104ce57fe5b604080516020600460443581810135601f81018490048402850184019095528484526101f7948235600160a060020a0316946024803595606494929391909201918190840183828082843750949650610b4f95505050505050565b604080519115158252519081900360200190f35b341561054557fe5b61021b600160a060020a0360043581169060243516610c89565b60408051918252519081900360200190f35b341561057957fe5b61012e600435610ca6565b005b341561058e57fe5b61012e600160a060020a03600435166024351515610d67565b005b34156105b157fe5b61012e600160a060020a0360043516610de9565b005b60005433600160a060020a039081169116146105e35760006000fd5b600882905560098190555b5b5050565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b600160a060020a03338116600090815260076020908152604080832093861683529290522081905560015b92915050565b60055481565b600160a060020a0383166000908152600a602052604081205460ff16156106dc5760006000fd5b600160a060020a038416600090815260066020526040902054829010156107035760006000fd5b600160a060020a038316600090815260066020526040902054828101101561072b5760006000fd5b600160a060020a038085166000908152600760209081526040808320339094168352929052205482111561075f5760006000fd5b600160a060020a0380851660008181526006602090815260408083208054889003905587851680845281842080548901905584845260078352818420339096168452948252918290208054879003905581518681529151600080516020610e338339815191529281900390910190a35060015b9392505050565b60045460ff1681565b60085481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b60066020526000908152604090205481565b60005433600160a060020a039081169116146108a35760006000fd5b600160a060020a0380831660009081526006602090815260408083208054860190556005805486019055805185815290513090941693600080516020610e33833981519152929181900390910190a381600160a060020a031630600160a060020a0316600080516020610e33833981519152836040518082815260200191505060405180910390a35b5b5050565b60095481565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b6000600954348115156109e357fe5b600160a060020a033016600090815260066020526040902054919004915081901015610a0f5760006000fd5b600160a060020a0333811660008181526006602090815260408083208054870190553090941680835291849020805486900390558351858152935192939192600080516020610e338339815191529281900390910190a35b50565b600160a060020a03331660009081526006602052604090205481901015610a915760006000fd5b600160a060020a0382166000908152600660205260409020548181011015610ab95760006000fd5b600160a060020a0333166000908152600a602052604090205460ff1615610ae05760006000fd5b600160a060020a0333811660008181526006602090815260408083208054879003905593861680835291849020805486019055835185815293519193600080516020610e33833981519152929081900390910190a35b5050565b600a6020526000908152604090205460ff1681565b600083610b5c818561067e565b15610c805780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360008314610c20575b805182526020831115610c2057601f199092019160209182019101610c00565b505050905090810190601f168015610c4c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610c6a57fe5b6102c65a03f11515610c7857fe5b505050600191505b5b509392505050565b600760209081526000928352604080842090915290825290205481565b600160a060020a03331660009081526006602052604090205481901015610ccd5760006000fd5b600160a060020a03308116600090815260066020526040808220805485019055339092168082528282208054859003905560085492519092840280156108fc0292909190818181858888f193505050501515610d295760006000fd5b30600160a060020a031633600160a060020a0316600080516020610e33833981519152836040518082815260200191505060405180910390a35b5b50565b60005433600160a060020a03908116911614610d835760006000fd5b600160a060020a0382166000818152600a6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15b5b5050565b60005433600160a060020a03908116911614610e055760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582014d110e6bebcfed5cec6c9e9883a52c39218ad0aae0d6b7624abae5aae00cb450029

Swarm Source

bzzr://14d110e6bebcfed5cec6c9e9883a52c39218ad0aae0d6b7624abae5aae00cb45

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.