ETH Price: $2,286.46 (-3.40%)
Gas: 1.38 Gwei

Contract

0xE49D3a236e890F7F667576b9E46437B7F11456ED
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Accept Ownership110295252020-10-10 19:16:141427 days ago1602357374IN
0xE49D3a23...7F11456ED
0 ETH0.0011026550
Transfer Ownersh...71439242019-01-29 12:34:522047 days ago1548765292IN
0xE49D3a23...7F11456ED
0 ETH0.0008784420
Set Address71439212019-01-29 12:33:462047 days ago1548765226IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439172019-01-29 12:32:112047 days ago1548765131IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439162019-01-29 12:32:022047 days ago1548765122IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439142019-01-29 12:31:122047 days ago1548765072IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439132019-01-29 12:31:082047 days ago1548765068IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439112019-01-29 12:30:512047 days ago1548765051IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
Set Address71439072019-01-29 12:29:512047 days ago1548764991IN
0xE49D3a23...7F11456ED
0 ETH0.0008756220
0x6080604071438752019-01-29 12:19:062047 days ago1548764346IN
 Create: NonStandardTokenRegistry
0 ETH0.004052715

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NonStandardTokenRegistry

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-01-29
*/

pragma solidity ^0.4.24;

// File: contracts/utility/interfaces/IOwned.sol

/*
    Owned contract interface
*/
contract IOwned {
    // this function isn't abstract since the compiler emits automatically generated getter functions as external
    function owner() public view returns (address) {}

    function transferOwnership(address _newOwner) public;
    function acceptOwnership() public;
}

// File: contracts/utility/Owned.sol

/*
    Provides support and utilities for contract ownership
*/
contract Owned is IOwned {
    address public owner;
    address public newOwner;

    event OwnerUpdate(address indexed _prevOwner, address indexed _newOwner);

    /**
        @dev constructor
    */
    constructor() public {
        owner = msg.sender;
    }

    // allows execution by the owner only
    modifier ownerOnly {
        require(msg.sender == owner);
        _;
    }

    /**
        @dev allows transferring the contract ownership
        the new owner still needs to accept the transfer
        can only be called by the contract owner

        @param _newOwner    new contract owner
    */
    function transferOwnership(address _newOwner) public ownerOnly {
        require(_newOwner != owner);
        newOwner = _newOwner;
    }

    /**
        @dev used by a new owner to accept an ownership transfer
    */
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

// File: contracts/utility/interfaces/IAddressList.sol

/*
    Address list interface
*/
contract IAddressList {
    mapping (address => bool) public listedAddresses;
}

// File: contracts/utility/NonStandardTokenRegistry.sol

/*
    Non standard token registry

    manages tokens who don't return true/false on transfer/transferFrom/approve but revert on failure instead 
*/
contract NonStandardTokenRegistry is IAddressList, Owned {

    mapping (address => bool) public listedAddresses;

    /**
        @dev constructor
    */
    constructor() public {

    }

    function setAddress(address token, bool register) public ownerOnly {
        listedAddresses[token] = register;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"register","type":"bool"}],"name":"setAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"listedAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":true,"name":"_prevOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]

608060405234801561001057600080fd5b5060018054600160a060020a031916331790556102e1806100326000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663608b326f811461007c57806379ba5097146100a45780638da5cb5b146100b9578063aeea10bd146100ea578063d4ee1d901461011f578063f2fde38b14610134575b600080fd5b34801561008857600080fd5b506100a2600160a060020a03600435166024351515610155565b005b3480156100b057600080fd5b506100a2610197565b3480156100c557600080fd5b506100ce610221565b60408051600160a060020a039092168252519081900360200190f35b3480156100f657600080fd5b5061010b600160a060020a0360043516610230565b604080519115158252519081900360200190f35b34801561012b57600080fd5b506100ce610245565b34801561014057600080fd5b506100a2600160a060020a0360043516610254565b600154600160a060020a0316331461016c57600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600254600160a060020a031633146101ae57600080fd5b600254600154604051600160a060020a0392831692909116907f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a90600090a3600280546001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600154600160a060020a031681565b60036020526000908152604090205460ff1681565b600254600160a060020a031681565b600154600160a060020a0316331461026b57600080fd5b600154600160a060020a038281169116141561028657600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820d92963b6d30a4ed1bea6ab14c7819cc2fcb5ad361f296aa7298b7504f599cda70029

Deployed Bytecode

0x6080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663608b326f811461007c57806379ba5097146100a45780638da5cb5b146100b9578063aeea10bd146100ea578063d4ee1d901461011f578063f2fde38b14610134575b600080fd5b34801561008857600080fd5b506100a2600160a060020a03600435166024351515610155565b005b3480156100b057600080fd5b506100a2610197565b3480156100c557600080fd5b506100ce610221565b60408051600160a060020a039092168252519081900360200190f35b3480156100f657600080fd5b5061010b600160a060020a0360043516610230565b604080519115158252519081900360200190f35b34801561012b57600080fd5b506100ce610245565b34801561014057600080fd5b506100a2600160a060020a0360043516610254565b600154600160a060020a0316331461016c57600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600254600160a060020a031633146101ae57600080fd5b600254600154604051600160a060020a0392831692909116907f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a90600090a3600280546001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600154600160a060020a031681565b60036020526000908152604090205460ff1681565b600254600160a060020a031681565b600154600160a060020a0316331461026b57600080fd5b600154600160a060020a038281169116141561028657600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820d92963b6d30a4ed1bea6ab14c7819cc2fcb5ad361f296aa7298b7504f599cda70029

Swarm Source

bzzr://d92963b6d30a4ed1bea6ab14c7819cc2fcb5ad361f296aa7298b7504f599cda7

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.