ETH Price: $3,409.96 (+1.74%)

Contract

0x69b5357D893fcE82248E83CCd9B0871F5D5d9461
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve143132052022-03-03 9:23:43996 days ago1646299423IN
0x69b5357D...F5D5d9461
0 ETH0.0013870530
Approve142472302022-02-21 4:11:211006 days ago1645416681IN
0x69b5357D...F5D5d9461
0 ETH0.0018717377.69434829
Approve142472292022-02-21 4:11:021006 days ago1645416662IN
0x69b5357D...F5D5d9461
0 ETH0.001887478.3447215
Approve122484782021-04-16 2:30:431317 days ago1618540243IN
0x69b5357D...F5D5d9461
0 ETH0.0044847997.00000145
Approve122483712021-04-16 2:09:101317 days ago1618538950IN
0x69b5357D...F5D5d9461
0 ETH0.00540371116.875
Approve121871582021-04-06 16:04:291326 days ago1617725069IN
0x69b5357D...F5D5d9461
0 ETH0.00818458182.14285714
Transfer121868472021-04-06 14:59:481326 days ago1617721188IN
0x69b5357D...F5D5d9461
0 ETH0.00376959175.71428571
Transfer120728062021-03-20 1:51:551344 days ago1616205115IN
0x69b5357D...F5D5d9461
0 ETH0.00579602159
Transfer120536942021-03-17 3:23:011347 days ago1615951381IN
0x69b5357D...F5D5d9461
0 ETH0.00422624197
Transfer120458812021-03-15 22:27:101348 days ago1615847230IN
0x69b5357D...F5D5d9461
0 ETH0.00714478196
Transfer120411402021-03-15 4:58:211349 days ago1615784301IN
0x69b5357D...F5D5d9461
0 ETH0.00330883118
Approve120407402021-03-15 3:22:321349 days ago1615778552IN
0x69b5357D...F5D5d9461
0 ETH0.00581773129.47
Approve120405592021-03-15 2:45:381349 days ago1615776338IN
0x69b5357D...F5D5d9461
0 ETH0.00485298108
Transfer120405592021-03-15 2:45:381349 days ago1615776338IN
0x69b5357D...F5D5d9461
0 ETH0.00393692108
Approve120404802021-03-15 2:29:321349 days ago1615775372IN
0x69b5357D...F5D5d9461
0 ETH0.00687505153
Transfer120404672021-03-15 2:26:291349 days ago1615775189IN
0x69b5357D...F5D5d9461
0 ETH0.00568666156
Approve120402842021-03-15 1:38:481349 days ago1615772328IN
0x69b5357D...F5D5d9461
0 ETH0.00557194124
Transfer120402722021-03-15 1:36:261349 days ago1615772186IN
0x69b5357D...F5D5d9461
0 ETH0.00441081121
Approve120400042021-03-15 0:34:271349 days ago1615768467IN
0x69b5357D...F5D5d9461
0 ETH0.0080883180
Approve120398612021-03-15 0:01:141349 days ago1615766474IN
0x69b5357D...F5D5d9461
0 ETH0.00606622135
Approve120397962021-03-14 23:46:441349 days ago1615765604IN
0x69b5357D...F5D5d9461
0 ETH0.00638077142
Transfer120397862021-03-14 23:43:521349 days ago1615765432IN
0x69b5357D...F5D5d9461
0 ETH0.00492115135
Transfer120397852021-03-14 23:43:491349 days ago1615765429IN
0x69b5357D...F5D5d9461
0 ETH0.00506696139
Transfer120397652021-03-14 23:37:551349 days ago1615765075IN
0x69b5357D...F5D5d9461
0 ETH0.00528568145
Approve120397502021-03-14 23:35:121349 days ago1615764912IN
0x69b5357D...F5D5d9461
0 ETH0.00638077142
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:
CardboardUnicorns

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-07-02
*/

pragma solidity ^0.4.11;

contract ForeignToken {
  function balanceOf(address _owner) constant returns (uint256);
  function transfer(address _to, uint256 _value) returns (bool);
}

/**
 * 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;
    }
  }
}

contract CardboardUnicorns {
  using SafeMath for uint;
  
  string public name = "HorseWithACheapCardboardHorn";
  string public symbol = "HWACCH";
  uint public decimals = 0;
  uint public totalSupply = 0;
  mapping(address => uint) balances;
  mapping (address => mapping (address => uint)) allowed;
  address public owner = msg.sender;

  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
  event Minted(address indexed owner, uint value);

  /**
   * Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
    if(msg.data.length < size + 4) {
      throw;
    }
    _;
  }
  
  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }
  
  /**
   * Change ownership of the token
   */
  function changeOwner(address _newOwner) onlyOwner {
    owner = _newOwner;
  }

  function withdraw() onlyOwner {
    owner.transfer(this.balance);
  }
  function withdrawForeignTokens(address _tokenContract) onlyOwner {
    ForeignToken token = ForeignToken(_tokenContract);
    uint256 amount = token.balanceOf(address(this));
    token.transfer(owner, amount);
  }

  /**
   * Generate new tokens.
   * Can only be done by the owner of the contract
   */
  function mint(address _who, uint _value) onlyOwner {
    balances[_who] = balances[_who].add(_value);
    totalSupply = totalSupply.add(_value);
    Minted(_who, _value);
  }

  /**
   * Get the token balance of the specified address
   */
  function balanceOf(address _who) constant returns (uint balance) {
    return balances[_who];
  }
  
  /**
   * Transfer token to another address
   */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    require(_to != address(this)); // Don't send tokens back to the contract!
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }
  
  
  /**
   * Transfer tokens from an different address to another address.
   * Need to have been granted an allowance to do this before triggering.
   */
  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);
  }
  
  /**
   * Approve the indicated address to spend the specified amount of tokens on the sender's behalf
   */
  function approve(address _spender, uint _value) {
    // Ensure allowance is zero if attempting to set to a non-zero number
    // This helps manage an edge-case race condition better: 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);
  }
  
  /**
   * Check how many tokens the indicated address can spend on behalf of the owner
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

Contract Security Audit

Contract ABI

[{"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":[],"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":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","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":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[],"payable":false,"type":"function"},{"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"},{"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":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Minted","type":"event"}]

60a0604052601c60608190527f486f7273655769746841436865617043617264626f617264486f726e00000000608090815261003e91600091906100b6565b506040805180820190915260068082527f48574143434800000000000000000000000000000000000000000000000000006020909201918252610083916001916100b6565b506000600281905560035560068054600160a060020a03191633600160a060020a031617905534156100b157fe5b610156565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100f757805160ff1916838001178555610124565b82800160010185558215610124579182015b82811115610124578251825591602001919060010190610109565b5b50610131929150610135565b5090565b61015391905b80821115610131576000815560010161013b565b5090565b90565b610ad4806101656000396000f300606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100cf578063095ea7b31461015f57806318160ddd1461018057806323b872dd146101a2578063313ce567146101c95780633ccfd60b146101eb57806340c10f19146101fd57806370a082311461021e5780638da5cb5b1461024c57806395d89b4114610278578063a6f9dae114610308578063a9059cbb14610326578063dd62ed3e14610347578063e58fc54c1461037b575bfe5b34156100d757fe5b6100df610399565b604080516020808252835181830152835191928392908301918501908083838215610125575b80518252602083111561012557601f199092019160209182019101610105565b505050905090810190601f1680156101515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016757fe5b61017e600160a060020a0360043516602435610427565b005b341561018857fe5b6101906104c7565b60408051918252519081900360200190f35b34156101aa57fe5b61017e600160a060020a03600435811690602435166044356104cd565b005b34156101d157fe5b6101906105f1565b60408051918252519081900360200190f35b34156101f357fe5b61017e6105f7565b005b341561020557fe5b61017e600160a060020a0360043516602435610649565b005b341561022657fe5b610190600160a060020a0360043516610702565b60408051918252519081900360200190f35b341561025457fe5b61025c610721565b60408051600160a060020a039092168252519081900360200190f35b341561028057fe5b6100df610730565b604080516020808252835181830152835191928392908301918501908083838215610125575b80518252602083111561012557601f199092019160209182019101610105565b505050905090810190601f1680156101515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031057fe5b61017e600160a060020a03600435166107bd565b005b341561032e57fe5b61017e600160a060020a0360043516602435610806565b005b341561034f57fe5b610190600160a060020a03600435811690602435166108f6565b60408051918252519081900360200190f35b341561038357fe5b61017e600160a060020a0360043516610923565b005b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041f5780601f106103f45761010080835404028352916020019161041f565b820191906000526020600020905b81548152906001019060200180831161040257829003601f168201915b505050505081565b801580159061045a5750600160a060020a0333811660009081526005602090815260408083209386168352929052205415155b156104655760006000fd5b600160a060020a03338116600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60035481565b6000606060643610156104e05760006000fd5b600160a060020a038086166000908152600560209081526040808320338516845282528083205493881683526004909152902054909250610527908463ffffffff610a6216565b600160a060020a03808616600090815260046020526040808220939093559087168152205461055c908463ffffffff610a7e16565b600160a060020a038616600090815260046020526040902055610585828463ffffffff610a7e16565b600160a060020a038087166000818152600560209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35b5b5050505050565b60025481565b60065433600160a060020a039081169116146106135760006000fd5b600654604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561064557fe5b5b5b565b60065433600160a060020a039081169116146106655760006000fd5b600160a060020a03821660009081526004602052604090205461068e908263ffffffff610a6216565b600160a060020a0383166000908152600460205260409020556003546106ba908263ffffffff610a6216565b600355604080518281529051600160a060020a038416917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a25b5b5050565b600160a060020a0381166000908152600460205260409020545b919050565b600654600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041f5780601f106103f45761010080835404028352916020019161041f565b820191906000526020600020905b81548152906001019060200180831161040257829003601f168201915b505050505081565b60065433600160a060020a039081169116146107d95760006000fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b604060443610156108175760006000fd5b30600160a060020a031683600160a060020a0316141515156108395760006000fd5b600160a060020a033316600090815260046020526040902054610862908363ffffffff610a7e16565b600160a060020a033381166000908152600460205260408082209390935590851681522054610897908363ffffffff610a6216565b600160a060020a038085166000818152600460209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5b505050565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b600654600090819033600160a060020a039081169116146109445760006000fd5b82915081600160a060020a03166370a08231306000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15156109c057fe5b6102c65a03f115156109ce57fe5b50506040805180516006546000602093840181905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018490529451929650908716945063a9059cbb936044808201949392918390030190829087803b1515610a4a57fe5b6102c65a03f11515610a5857fe5b5050505b5b505050565b6000828201610a7384821015610a97565b8091505b5092915050565b6000610a8c83831115610a97565b508082035b92915050565b8015156108025760006000fd5b5b505600a165627a7a723058204bde4bdb6dc2f11cef35a744c62b2f46124efe6fd96319dacdc3cc030605bc010029

Deployed Bytecode

0x606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100cf578063095ea7b31461015f57806318160ddd1461018057806323b872dd146101a2578063313ce567146101c95780633ccfd60b146101eb57806340c10f19146101fd57806370a082311461021e5780638da5cb5b1461024c57806395d89b4114610278578063a6f9dae114610308578063a9059cbb14610326578063dd62ed3e14610347578063e58fc54c1461037b575bfe5b34156100d757fe5b6100df610399565b604080516020808252835181830152835191928392908301918501908083838215610125575b80518252602083111561012557601f199092019160209182019101610105565b505050905090810190601f1680156101515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016757fe5b61017e600160a060020a0360043516602435610427565b005b341561018857fe5b6101906104c7565b60408051918252519081900360200190f35b34156101aa57fe5b61017e600160a060020a03600435811690602435166044356104cd565b005b34156101d157fe5b6101906105f1565b60408051918252519081900360200190f35b34156101f357fe5b61017e6105f7565b005b341561020557fe5b61017e600160a060020a0360043516602435610649565b005b341561022657fe5b610190600160a060020a0360043516610702565b60408051918252519081900360200190f35b341561025457fe5b61025c610721565b60408051600160a060020a039092168252519081900360200190f35b341561028057fe5b6100df610730565b604080516020808252835181830152835191928392908301918501908083838215610125575b80518252602083111561012557601f199092019160209182019101610105565b505050905090810190601f1680156101515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031057fe5b61017e600160a060020a03600435166107bd565b005b341561032e57fe5b61017e600160a060020a0360043516602435610806565b005b341561034f57fe5b610190600160a060020a03600435811690602435166108f6565b60408051918252519081900360200190f35b341561038357fe5b61017e600160a060020a0360043516610923565b005b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041f5780601f106103f45761010080835404028352916020019161041f565b820191906000526020600020905b81548152906001019060200180831161040257829003601f168201915b505050505081565b801580159061045a5750600160a060020a0333811660009081526005602090815260408083209386168352929052205415155b156104655760006000fd5b600160a060020a03338116600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60035481565b6000606060643610156104e05760006000fd5b600160a060020a038086166000908152600560209081526040808320338516845282528083205493881683526004909152902054909250610527908463ffffffff610a6216565b600160a060020a03808616600090815260046020526040808220939093559087168152205461055c908463ffffffff610a7e16565b600160a060020a038616600090815260046020526040902055610585828463ffffffff610a7e16565b600160a060020a038087166000818152600560209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35b5b5050505050565b60025481565b60065433600160a060020a039081169116146106135760006000fd5b600654604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561064557fe5b5b5b565b60065433600160a060020a039081169116146106655760006000fd5b600160a060020a03821660009081526004602052604090205461068e908263ffffffff610a6216565b600160a060020a0383166000908152600460205260409020556003546106ba908263ffffffff610a6216565b600355604080518281529051600160a060020a038416917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a25b5b5050565b600160a060020a0381166000908152600460205260409020545b919050565b600654600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041f5780601f106103f45761010080835404028352916020019161041f565b820191906000526020600020905b81548152906001019060200180831161040257829003601f168201915b505050505081565b60065433600160a060020a039081169116146107d95760006000fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b604060443610156108175760006000fd5b30600160a060020a031683600160a060020a0316141515156108395760006000fd5b600160a060020a033316600090815260046020526040902054610862908363ffffffff610a7e16565b600160a060020a033381166000908152600460205260408082209390935590851681522054610897908363ffffffff610a6216565b600160a060020a038085166000818152600460209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5b505050565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b600654600090819033600160a060020a039081169116146109445760006000fd5b82915081600160a060020a03166370a08231306000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15156109c057fe5b6102c65a03f115156109ce57fe5b50506040805180516006546000602093840181905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018490529451929650908716945063a9059cbb936044808201949392918390030190829087803b1515610a4a57fe5b6102c65a03f11515610a5857fe5b5050505b5b505050565b6000828201610a7384821015610a97565b8091505b5092915050565b6000610a8c83831115610a97565b508082035b92915050565b8015156108025760006000fd5b5b505600a165627a7a723058204bde4bdb6dc2f11cef35a744c62b2f46124efe6fd96319dacdc3cc030605bc010029

Swarm Source

bzzr://4bde4bdb6dc2f11cef35a744c62b2f46124efe6fd96319dacdc3cc030605bc01

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.