ETH Price: $2,532.41 (-0.26%)

Contract

0x8Ce2236bb743Ef077409B43E541eAA4f5b928Db3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer61713692018-08-18 19:54:352225 days ago1534622075IN
0x8Ce2236b...f5b928Db3
0 ETH0.000219846
Transfer57406592018-06-06 6:32:322298 days ago1528266752IN
0x8Ce2236b...f5b928Db3
0 ETH0.000256487
Transfer57405482018-06-06 6:04:532298 days ago1528265093IN
0x8Ce2236b...f5b928Db3
0 ETH0.000219846
Transfer57404952018-06-06 5:51:082298 days ago1528264268IN
0x8Ce2236b...f5b928Db3
0 ETH0.000256487
Transfer57404622018-06-06 5:43:242298 days ago1528263804IN
0x8Ce2236b...f5b928Db3
0 ETH0.000146564
Transfer57404472018-06-06 5:39:012298 days ago1528263541IN
0x8Ce2236b...f5b928Db3
0 ETH0.000206564
Transfer57362522018-06-05 11:34:362299 days ago1528198476IN
0x8Ce2236b...f5b928Db3
0 ETH0.000366410
Transfer57359612018-06-05 10:22:032299 days ago1528194123IN
0x8Ce2236b...f5b928Db3
0 ETH0.00032639
Transfer57359172018-06-05 10:12:542299 days ago1528193574IN
0x8Ce2236b...f5b928Db3
0 ETH0.0004037411
Approve56621112018-05-23 8:36:372312 days ago1527064597IN
0x8Ce2236b...f5b928Db3
0 ETH0.000921320
Transfer56571802018-05-22 11:08:552313 days ago1526987335IN
0x8Ce2236b...f5b928Db3
0 ETH0.0021198641
Transfer53784242018-04-04 9:53:482361 days ago1522835628IN
0x8Ce2236b...f5b928Db3
0 ETH0.000021641
Approve53759212018-04-04 0:04:322362 days ago1522800272IN
0x8Ce2236b...f5b928Db3
0 ETH0.000014280.31
Approve53243142018-03-26 8:56:062370 days ago1522054566IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092132
Approve53232582018-03-26 4:41:392370 days ago1522039299IN
0x8Ce2236b...f5b928Db3
0 ETH0.000096024
Approve53232572018-03-26 4:41:252370 days ago1522039285IN
0x8Ce2236b...f5b928Db3
0 ETH0.0001844
Approve53136132018-03-24 14:25:402372 days ago1521901540IN
0x8Ce2236b...f5b928Db3
0 ETH0.0000461
Approve53114422018-03-24 5:57:422372 days ago1521871062IN
0x8Ce2236b...f5b928Db3
0 ETH0.000050671.1
Approve53045762018-03-23 2:12:272374 days ago1521771147IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092132
Approve53007582018-03-22 11:03:292374 days ago1521716609IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092252
Transfer53006332018-03-22 10:28:482374 days ago1521714528IN
0x8Ce2236b...f5b928Db3
0 ETH0.000103532
Transfer53003432018-03-22 9:16:162374 days ago1521710176IN
0x8Ce2236b...f5b928Db3
0 ETH0.000103532
Approve52938802018-03-21 7:13:292375 days ago1521616409IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092132
Approve52930802018-03-21 4:05:212376 days ago1521605121IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092132
Approve52893912018-03-20 13:18:492376 days ago1521551929IN
0x8Ce2236b...f5b928Db3
0 ETH0.000092132
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BunToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.18;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  bool public isERC20 = true;

  function allowance(address owner, address spender) constant returns (uint);
  function transferFrom(address from, address to, uint value);
  function approve(address spender, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}



/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  /**
   * @dev Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

}


/**
 * @title Standard ERC20 token
 *
 * @dev Implemantation of the basic standart token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

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

  /**
   * @dev Function to check the amount of tokens than an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}



contract BunToken is StandardToken {
    string public constant NAME = "BunToken";
    string public constant SYMBOL = "BUN";
    uint public constant DECIMALS = 18;

  

    /// This is where we hold ETH during this token sale. We will not transfer any Ether
    /// out of this address before we invocate the `close` function to finalize the sale. 
    /// This promise is not guanranteed by smart contract by can be verified with public
    /// Ethereum transactions data available on several blockchain browsers.
    /// This is the only address from which `start` and `close` can be invocated.
    ///
    /// Note: this will be initialized during the contract deployment.
    address public target;

    /*
     * MODIFIERS
     */

    modifier onlyOwner {
        if (target == msg.sender) {
            _;
        } else {
           // InvalidCaller(msg.sender);
            throw;
        }
    }


    /**
     * CONSTRUCTOR 
     * 
     * @dev Initialize the BUN Token
     * @param _target The escrow account address, all ethers will
     * be sent to this address.
     * This address will be : 0x04485eb766dd6c9409503dd8f91186340c0526ba
     *
     * Pre-sale of BUN will coming soon.
     *
     */
    function BunToken(address _target) {
        target = _target;
        totalSupply = 10 ** 28;
        balances[target] = totalSupply;
    }

  

    /// sending ether to this smart contract to fund Bun studio.
    function () payable {
       //Thank for your donation
       target.send(msg.value);
    }
    
    // withdraw Other ERC20
    function withdrawOtherERC20Balance(uint256 amount, address _address) external onlyOwner {
    		require(_address != address(this));
        BasicToken candidateContract = BasicToken(_address);
        uint256 realTotal = candidateContract.balanceOf(this);
        require( realTotal >= amount );
        candidateContract.transfer(target, amount);
    }

   

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"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":[],"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":"isERC20","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"_address","type":"address"}],"name":"withdrawOtherERC20Balance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","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"}]

60606040526002805460ff19166001179055341561001c57600080fd5b6040516020806108558339810160405280805160048054600160a060020a03928316600160a060020a031990911617908190556b204fce5e3e2502611000000060008181559190921681526001602052604090205550506107d3806100826000396000f3006060604052600436106100a05763ffffffff60e060020a600035041663095ea7b381146100cb57806318160ddd146100ef57806323b872dd146101145780632e0f26251461013c5780632eb67f531461014f57806370a0823114610176578063a3f4df7e14610195578063a9059cbb1461021f578063b2a11ab114610241578063d4b8399214610263578063dd62ed3e14610292578063f76f8d78146102b7575b600454600160a060020a03163480156108fc0290604051600060405180830381858888f15050505050005b34156100d657600080fd5b6100ed600160a060020a03600435166024356102ca565b005b34156100fa57600080fd5b61010261036b565b60405190815260200160405180910390f35b341561011f57600080fd5b6100ed600160a060020a0360043581169060243516604435610371565b341561014757600080fd5b610102610492565b341561015a57600080fd5b610162610497565b604051901515815260200160405180910390f35b341561018157600080fd5b610102600160a060020a03600435166104a0565b34156101a057600080fd5b6101a86104bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e45780820151838201526020016101cc565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b6100ed600160a060020a03600435166024356104f2565b341561024c57600080fd5b6100ed600435600160a060020a03602435166105bd565b341561026e57600080fd5b6102766106fb565b604051600160a060020a03909116815260200160405180910390f35b341561029d57600080fd5b610102600160a060020a036004358116906024351661070a565b34156102c257600080fd5b6101a8610735565b80158015906102fd5750600160a060020a0333811660009081526003602090815260408083209386168352929052205415155b1561030757600080fd5b600160a060020a03338116600081815260036020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b60005481565b60006060606436101561038357600080fd5b600160a060020a0380861660009081526003602090815260408083203385168452825280832054938816835260019091529020549092506103ca908463ffffffff61076c16565b600160a060020a0380861660009081526001602052604080822093909355908716815220546103ff908463ffffffff61078416565b600160a060020a038616600090815260016020526040902055610428828463ffffffff61078416565b600160a060020a03808716600081815260036020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b601281565b60025460ff1681565b600160a060020a031660009081526001602052604090205490565b60408051908101604052600881527f42756e546f6b656e000000000000000000000000000000000000000000000000602082015281565b6040604436101561050257600080fd5b600160a060020a03331660009081526001602052604090205461052b908363ffffffff61078416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610560908363ffffffff61076c16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3505050565b600454600090819033600160a060020a03908116911614156106f05730600160a060020a031683600160a060020a0316141515156105fa57600080fd5b82915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561065457600080fd5b6102c65a03f1151561066557600080fd5b50505060405180519150508381101561067d57600080fd5b600454600160a060020a038084169163a9059cbb91168660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156106d757600080fd5b6102c65a03f115156106e857600080fd5b5050506106f5565b600080fd5b50505050565b600454600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60408051908101604052600381527f42554e0000000000000000000000000000000000000000000000000000000000602082015281565b600082820161077d84821015610798565b9392505050565b600061079283831115610798565b50900390565b8015156107a457600080fd5b505600a165627a7a72305820ce875371afba6f1411b6707136efd08bb576fd9877b2e513fe696b60fab8824e002900000000000000000000000004485eb766dd6c9409503dd8f91186340c0526ba

Deployed Bytecode

0x6060604052600436106100a05763ffffffff60e060020a600035041663095ea7b381146100cb57806318160ddd146100ef57806323b872dd146101145780632e0f26251461013c5780632eb67f531461014f57806370a0823114610176578063a3f4df7e14610195578063a9059cbb1461021f578063b2a11ab114610241578063d4b8399214610263578063dd62ed3e14610292578063f76f8d78146102b7575b600454600160a060020a03163480156108fc0290604051600060405180830381858888f15050505050005b34156100d657600080fd5b6100ed600160a060020a03600435166024356102ca565b005b34156100fa57600080fd5b61010261036b565b60405190815260200160405180910390f35b341561011f57600080fd5b6100ed600160a060020a0360043581169060243516604435610371565b341561014757600080fd5b610102610492565b341561015a57600080fd5b610162610497565b604051901515815260200160405180910390f35b341561018157600080fd5b610102600160a060020a03600435166104a0565b34156101a057600080fd5b6101a86104bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e45780820151838201526020016101cc565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b6100ed600160a060020a03600435166024356104f2565b341561024c57600080fd5b6100ed600435600160a060020a03602435166105bd565b341561026e57600080fd5b6102766106fb565b604051600160a060020a03909116815260200160405180910390f35b341561029d57600080fd5b610102600160a060020a036004358116906024351661070a565b34156102c257600080fd5b6101a8610735565b80158015906102fd5750600160a060020a0333811660009081526003602090815260408083209386168352929052205415155b1561030757600080fd5b600160a060020a03338116600081815260036020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b60005481565b60006060606436101561038357600080fd5b600160a060020a0380861660009081526003602090815260408083203385168452825280832054938816835260019091529020549092506103ca908463ffffffff61076c16565b600160a060020a0380861660009081526001602052604080822093909355908716815220546103ff908463ffffffff61078416565b600160a060020a038616600090815260016020526040902055610428828463ffffffff61078416565b600160a060020a03808716600081815260036020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b601281565b60025460ff1681565b600160a060020a031660009081526001602052604090205490565b60408051908101604052600881527f42756e546f6b656e000000000000000000000000000000000000000000000000602082015281565b6040604436101561050257600080fd5b600160a060020a03331660009081526001602052604090205461052b908363ffffffff61078416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610560908363ffffffff61076c16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3505050565b600454600090819033600160a060020a03908116911614156106f05730600160a060020a031683600160a060020a0316141515156105fa57600080fd5b82915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561065457600080fd5b6102c65a03f1151561066557600080fd5b50505060405180519150508381101561067d57600080fd5b600454600160a060020a038084169163a9059cbb91168660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156106d757600080fd5b6102c65a03f115156106e857600080fd5b5050506106f5565b600080fd5b50505050565b600454600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60408051908101604052600381527f42554e0000000000000000000000000000000000000000000000000000000000602082015281565b600082820161077d84821015610798565b9392505050565b600061079283831115610798565b50900390565b8015156107a457600080fd5b505600a165627a7a72305820ce875371afba6f1411b6707136efd08bb576fd9877b2e513fe696b60fab8824e0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000004485eb766dd6c9409503dd8f91186340c0526ba

-----Decoded View---------------
Arg [0] : _target (address): 0x04485Eb766DD6C9409503DD8F91186340c0526bA

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000004485eb766dd6c9409503dd8f91186340c0526ba


Swarm Source

bzzr://ce875371afba6f1411b6707136efd08bb576fd9877b2e513fe696b60fab8824e

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.