ETH Price: $1,933.01 (-4.80%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Save76212282019-04-23 2:48:432502 days ago1555987723IN
0x979E28dc...DF273f30e
0 ETH0.000304386
Save76147712019-04-22 2:48:422503 days ago1555901322IN
0x979E28dc...DF273f30e
0 ETH0.000151993
Save76083722019-04-21 2:48:432504 days ago1555814923IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save76019882019-04-20 2:48:472505 days ago1555728527IN
0x979E28dc...DF273f30e
0 ETH0.000152193
Save75955502019-04-19 2:48:502506 days ago1555642130IN
0x979E28dc...DF273f30e
0 ETH0.000253655
Save75891762019-04-18 2:49:382507 days ago1555555778IN
0x979E28dc...DF273f30e
0 ETH0.000152193
Save75827642019-04-17 2:49:062508 days ago1555469346IN
0x979E28dc...DF273f30e
0 ETH0.000101332
Save75763522019-04-16 2:48:192509 days ago1555382899IN
0x979E28dc...DF273f30e
0 ETH0.000152193
Save75699182019-04-15 2:48:582510 days ago1555296538IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save75635092019-04-14 2:48:512511 days ago1555210131IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save75570072019-04-13 2:49:042512 days ago1555123744IN
0x979E28dc...DF273f30e
0 ETH0.000050731
Save75442162019-04-11 2:48:432514 days ago1554950923IN
0x979E28dc...DF273f30e
0 ETH0.000152193
Save75377692019-04-10 2:48:492515 days ago1554864529IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save75313222019-04-09 2:49:002516 days ago1554778140IN
0x979E28dc...DF273f30e
0 ETH0.000151993
Save75248672019-04-08 2:48:482517 days ago1554691728IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save75184312019-04-07 2:48:422518 days ago1554605322IN
0x979E28dc...DF273f30e
0 ETH0.000050661
Save75119532019-04-06 2:48:442519 days ago1554518924IN
0x979E28dc...DF273f30e
0 ETH0.000151993
Save75055362019-04-05 2:49:372520 days ago1554432577IN
0x979E28dc...DF273f30e
0 ETH0.000304386
Save74991372019-04-04 2:52:212521 days ago1554346341IN
0x979E28dc...DF273f30e
0 ETH0.000152193
Save74927842019-04-03 2:51:072522 days ago1554259867IN
0x979E28dc...DF273f30e
0 ETH0.000202924
Save74864312019-04-02 2:48:532523 days ago1554173333IN
0x979E28dc...DF273f30e
0 ETH0.000076091.5
Save74800232019-04-01 2:48:402524 days ago1554086920IN
0x979E28dc...DF273f30e
0 ETH0.000101462
Save74735782019-03-31 2:50:212525 days ago1554000621IN
0x979E28dc...DF273f30e
0 ETH0.000050661
Save74672112019-03-30 2:48:532526 days ago1553914133IN
0x979E28dc...DF273f30e
0 ETH0.000050731
Save74608752019-03-29 2:52:122527 days ago1553827932IN
0x979E28dc...DF273f30e
0 ETH0.000109572.15999999
View all transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Copyright

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.24;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {

    address public owner;

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

    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor() public {
        owner = msg.sender;
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}


contract Allow is Ownable {
    mapping(address => bool) public allowedMap;
    address[] public allowedArray;

    event AddressAllowed(address _handler, address _address);
    event AddressDenied(address _handler, address _address);

    constructor() public {

    }

    modifier allow() {
        require(allowedMap[msg.sender] == true);
        _;
    }

    function allowAccess(address _address) onlyOwner public {
        allowedMap[_address] = true;
        bool exists = false;
        for(uint i = 0; i < allowedArray.length; i++) {
            if(allowedArray[i] == _address) {
                exists = true;
                break;
            }
        }
        if(!exists) {
            allowedArray.push(_address);
        }
        emit AddressAllowed(msg.sender, _address);
    }

    function denyAccess(address _address) onlyOwner public {
        allowedMap[_address] = false;
        emit AddressDenied(msg.sender, _address);
    }
}


contract Copyright is Allow {
    bytes32[] public list;

    event SetLog(bytes32 hash, uint256 id);

    constructor() public  {
    }

    function save(bytes32 _hash) allow public {
        list.push(_hash);

        emit SetLog(_hash, list.length-1);
    }

    function count() public view returns(uint256) {
        return list.length;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allowedMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"bytes32"}],"name":"save","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allowedArray","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"denyAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"list","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"allowAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"hash","type":"bytes32"},{"indexed":false,"name":"id","type":"uint256"}],"name":"SetLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_handler","type":"address"},{"indexed":false,"name":"_address","type":"address"}],"name":"AddressAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_handler","type":"address"},{"indexed":false,"name":"_address","type":"address"}],"name":"AddressDenied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b5060008054600160a060020a03191633179055610550806100326000396000f3006080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306661abd811461009d5780632e1645e7146100c45780634053c797146100f957806347d406091461011357806361afd5ac1461014757806380c9419e146101685780638da5cb5b14610180578063c4a85bc114610195578063f2fde38b146101b6575b600080fd5b3480156100a957600080fd5b506100b26101d7565b60408051918252519081900360200190f35b3480156100d057600080fd5b506100e5600160a060020a03600435166101dd565b604080519115158252519081900360200190f35b34801561010557600080fd5b506101116004356101f2565b005b34801561011f57600080fd5b5061012b60043561028a565b60408051600160a060020a039092168252519081900360200190f35b34801561015357600080fd5b50610111600160a060020a03600435166102b2565b34801561017457600080fd5b506100b2600435610328565b34801561018c57600080fd5b5061012b610347565b3480156101a157600080fd5b50610111600160a060020a0360043516610356565b3480156101c257600080fd5b50610111600160a060020a0360043516610490565b60035490565b60016020526000908152604090205460ff1681565b3360009081526001602081905260409091205460ff1615151461021457600080fd5b6003805460018101825560008290527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018290555460408051838152600019909201602083015280517fc240aeac8f08cad0824a782b09f29ae3661b5b136b27016c15a6ce101b2d432b9281900390910190a150565b600280548290811061029857fe5b600091825260209091200154600160a060020a0316905081565b600054600160a060020a031633146102c957600080fd5b600160a060020a038116600081815260016020908152604091829020805460ff1916905581513381529081019290925280517f15d537fd5895793b259502018076b946c9a3f5b8f4fc9557e756123e6917fc8a9281900390910190a150565b600380548290811061033657fe5b600091825260209091200154905081565b600054600160a060020a031681565b600080548190600160a060020a0316331461037057600080fd5b5050600160a060020a03811660009081526001602081905260408220805460ff19169091179055805b6002548110156103e85782600160a060020a03166002828154811015156103bc57fe5b600091825260209091200154600160a060020a031614156103e057600191506103e8565b600101610399565b81151561044857600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b60408051338152600160a060020a038516602082015281517f11db8dd6cdf978ae8ea4387d9f3d24b21d117d4b9669c370379462b939ad3021929181900390910190a1505050565b600054600160a060020a031633146104a757600080fd5b600160a060020a03811615156104bc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582040229e8c16e7fb1d6762a5d2d62487aa1f27953c42976f725de48f7e406ada3c0029

Deployed Bytecode

0x6080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306661abd811461009d5780632e1645e7146100c45780634053c797146100f957806347d406091461011357806361afd5ac1461014757806380c9419e146101685780638da5cb5b14610180578063c4a85bc114610195578063f2fde38b146101b6575b600080fd5b3480156100a957600080fd5b506100b26101d7565b60408051918252519081900360200190f35b3480156100d057600080fd5b506100e5600160a060020a03600435166101dd565b604080519115158252519081900360200190f35b34801561010557600080fd5b506101116004356101f2565b005b34801561011f57600080fd5b5061012b60043561028a565b60408051600160a060020a039092168252519081900360200190f35b34801561015357600080fd5b50610111600160a060020a03600435166102b2565b34801561017457600080fd5b506100b2600435610328565b34801561018c57600080fd5b5061012b610347565b3480156101a157600080fd5b50610111600160a060020a0360043516610356565b3480156101c257600080fd5b50610111600160a060020a0360043516610490565b60035490565b60016020526000908152604090205460ff1681565b3360009081526001602081905260409091205460ff1615151461021457600080fd5b6003805460018101825560008290527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018290555460408051838152600019909201602083015280517fc240aeac8f08cad0824a782b09f29ae3661b5b136b27016c15a6ce101b2d432b9281900390910190a150565b600280548290811061029857fe5b600091825260209091200154600160a060020a0316905081565b600054600160a060020a031633146102c957600080fd5b600160a060020a038116600081815260016020908152604091829020805460ff1916905581513381529081019290925280517f15d537fd5895793b259502018076b946c9a3f5b8f4fc9557e756123e6917fc8a9281900390910190a150565b600380548290811061033657fe5b600091825260209091200154905081565b600054600160a060020a031681565b600080548190600160a060020a0316331461037057600080fd5b5050600160a060020a03811660009081526001602081905260408220805460ff19169091179055805b6002548110156103e85782600160a060020a03166002828154811015156103bc57fe5b600091825260209091200154600160a060020a031614156103e057600191506103e8565b600101610399565b81151561044857600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b60408051338152600160a060020a038516602082015281517f11db8dd6cdf978ae8ea4387d9f3d24b21d117d4b9669c370379462b939ad3021929181900390910190a1505050565b600054600160a060020a031633146104a757600080fd5b600160a060020a03811615156104bc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582040229e8c16e7fb1d6762a5d2d62487aa1f27953c42976f725de48f7e406ada3c0029

Swarm Source

bzzr://40229e8c16e7fb1d6762a5d2d62487aa1f27953c42976f725de48f7e406ada3c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.