Contract 0x2FAC91b0a6f4171121e11910Bd6feab73a7C8EF6

Contract Overview

Balance:
0 Ether
Txn Hash Method
Block
From
To
Value
0x348361fdef2c9f69cf0587240d2456bf77921383f207051bbcbe831c65e1c3eaSet Associated C...76366022020-04-02 7:10:37378 days 7 hrs ago0xb64ff7a4a33acdf48d97dab0d764afd0f6176882 IN  0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether0.0008906420
0x305b8cfe46144311a66b228fb7701cfa966fb8feae0f1d2998613f2da4f953c30x6080604076365962020-04-02 7:08:01378 days 7 hrs ago0xb64ff7a4a33acdf48d97dab0d764afd0f6176882 IN  Contract Creation0 Ether0.0091105620
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x610fd352c69b6b5c4ff092c896ba92c1e843a8756ae2b273dfc65b75dcda809b89160022020-10-20 17:27:17176 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x610fd352c69b6b5c4ff092c896ba92c1e843a8756ae2b273dfc65b75dcda809b89160022020-10-20 17:27:17176 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x610fd352c69b6b5c4ff092c896ba92c1e843a8756ae2b273dfc65b75dcda809b89160022020-10-20 17:27:17176 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xd82ea29ddd962ff0b18fb62b3b820b488f54d0500f72a3a1bfaad934eb42a00489132152020-10-20 7:28:51177 days 7 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xd82ea29ddd962ff0b18fb62b3b820b488f54d0500f72a3a1bfaad934eb42a00489132152020-10-20 7:28:51177 days 7 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xd82ea29ddd962ff0b18fb62b3b820b488f54d0500f72a3a1bfaad934eb42a00489132152020-10-20 7:28:51177 days 7 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xcd4ef518277a0bb9b4b092729608f53e68ae6025cda2cf7b6ce1420e4aacbcb485484952020-08-23 10:04:06235 days 5 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x21f9d106c7d5961a2dd8091fa6ca110d882946cd2e01545a7f14870388b0ab0085484882020-08-23 10:02:03235 days 5 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x021978419fa0a678c41e3cdb3ff15484348737313bc520de0e5742ae56827b8e85484882020-08-23 10:02:03235 days 5 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x7b2b33e8ceff44b3764badddd48fe27dfb75b1f1116f3487384591c670f87dae85444672020-08-22 19:02:00235 days 20 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x0f896d3be02968c1d918c25f67b76bfde688ce52deaca09db6eb17d42110dc1785443542020-08-22 18:36:44235 days 20 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x19f26d28beaa195b59813e94838b44fd5d46babd9ef0c8a24502b933e01a906585443472020-08-22 18:34:30235 days 20 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x799ea811d045d97cf360e1aa72addec2745cb6789f73583ca950af598a086edc85442552020-08-22 18:14:12235 days 20 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x02601654d1fe26c3d0ca84533fe2cf0a48946cc5bc923ae5c55e5bbad8841dce85442162020-08-22 18:05:24235 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x5181a2adbf882db346c90796506ae809d07b3abd101b0fffb21ce49045fa3b8f85442082020-08-22 18:02:01235 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x7fbd3a7a51bbfb9e3d231d292e16584723c7a19b04a6eab6e95b44d47941012d85441592020-08-22 17:51:10235 days 21 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x4841fcafc1f4bb05c6227cf32495e9118b13a95665f2ad4c224d732a6b28bfdd85405422020-08-21 14:18:51237 days 48 mins ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x665486112972994b88d25409ab8d66da2f41360802ef3eaba1e745d7df43a6a385405372020-08-21 14:07:52237 days 59 mins ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x9ce88de19e40b5946dd2b67565ace8aaf3f3d065b5a800ffb51665c83c70ac9f85405282020-08-21 13:51:46237 days 1 hr ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xe5ba7927214d456ed054120005222e2945e2988d31d9335a49e630e086d8862b85405092020-08-21 13:20:22237 days 1 hr ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0x1a88d28786568d1aab12952f4f974c1d904f2adf6d3d4b167dcae6d76bacaa7385405062020-08-21 13:12:27237 days 1 hr ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xbc593e461d532b162565dd9abc2c89fc8b4c99d145eaaabf20d40e6a3f6f1f0b85404422020-08-21 11:06:58237 days 4 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xa360b683966843597b6fe8562b25c96a235f01ec0b6d83e2f038ac746ae4c6a985404392020-08-21 11:04:07237 days 4 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xa360b683966843597b6fe8562b25c96a235f01ec0b6d83e2f038ac746ae4c6a985404392020-08-21 11:04:07237 days 4 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
0xa360b683966843597b6fe8562b25c96a235f01ec0b6d83e2f038ac746ae4c6a985404392020-08-21 11:04:07237 days 4 hrs ago 0x0b63748e6e4f0eb7d76df6f4b7d15f751d72237c 0x2fac91b0a6f4171121e11910bd6feab73a7c8ef60 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x5b610472587de95506118186B2F4d70b664760B1

Contract Name:
TokenState

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2020-04-02
*/

/*
   ____            __   __        __   _
  / __/__ __ ___  / /_ / /  ___  / /_ (_)__ __
 _\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ /
/___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\
     /___/

* Synthetix: TokenState.sol
*
* Latest source (may be newer): https://github.com/Synthetixio/synthetix/blob/master/contracts/TokenState.sol
* Docs: https://docs.synthetix.io/contracts/TokenState
*
* Contract Dependencies: 
*	- Owned
*	- State
* Libraries: (none)
*
* MIT License
* ===========
*
* Copyright (c) 2020 Synthetix
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
*/

/* ===============================================
* Flattened with Solidifier by Coinage
* 
* https://solidifier.coina.ge
* ===============================================
*/


pragma solidity 0.4.25;


// https://docs.synthetix.io/contracts/Owned
contract Owned {
    address public owner;
    address public nominatedOwner;

    /**
     * @dev Owned Constructor
     */
    constructor(address _owner) public {
        require(_owner != address(0), "Owner address cannot be 0");
        owner = _owner;
        emit OwnerChanged(address(0), _owner);
    }

    /**
     * @notice Nominate a new owner of this contract.
     * @dev Only the current owner may nominate a new owner.
     */
    function nominateNewOwner(address _owner) external onlyOwner {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }

    /**
     * @notice Accept the nomination to be owner.
     */
    function acceptOwnership() external {
        require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership");
        emit OwnerChanged(owner, nominatedOwner);
        owner = nominatedOwner;
        nominatedOwner = address(0);
    }

    modifier onlyOwner {
        require(msg.sender == owner, "Only the contract owner may perform this action");
        _;
    }

    event OwnerNominated(address newOwner);
    event OwnerChanged(address oldOwner, address newOwner);
}


// https://docs.synthetix.io/contracts/State
contract State is Owned {
    // the address of the contract that can modify variables
    // this can only be changed by the owner of this contract
    address public associatedContract;

    constructor(address _owner, address _associatedContract) public Owned(_owner) {
        associatedContract = _associatedContract;
        emit AssociatedContractUpdated(_associatedContract);
    }

    /* ========== SETTERS ========== */

    // Change the associated contract to a new address
    function setAssociatedContract(address _associatedContract) external onlyOwner {
        associatedContract = _associatedContract;
        emit AssociatedContractUpdated(_associatedContract);
    }

    /* ========== MODIFIERS ========== */

    modifier onlyAssociatedContract {
        require(msg.sender == associatedContract, "Only the associated contract can perform this action");
        _;
    }

    /* ========== EVENTS ========== */

    event AssociatedContractUpdated(address associatedContract);
}


// https://docs.synthetix.io/contracts/TokenState
contract TokenState is State {
    /* ERC20 fields. */
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    /**
     * @dev Constructor
     * @param _owner The address which controls this contract.
     * @param _associatedContract The ERC20 contract whose state this composes.
     */
    constructor(address _owner, address _associatedContract) public State(_owner, _associatedContract) {}

    /* ========== SETTERS ========== */

    /**
     * @notice Set ERC20 allowance.
     * @dev Only the associated contract may call this.
     * @param tokenOwner The authorising party.
     * @param spender The authorised party.
     * @param value The total value the authorised party may spend on the
     * authorising party's behalf.
     */
    function setAllowance(address tokenOwner, address spender, uint value) external onlyAssociatedContract {
        allowance[tokenOwner][spender] = value;
    }

    /**
     * @notice Set the balance in a given account
     * @dev Only the associated contract may call this.
     * @param account The account whose value to set.
     * @param value The new balance of the given account.
     */
    function setBalanceOf(address account, uint value) external onlyAssociatedContract {
        balanceOf[account] = value;
    }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"associatedContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"value","type":"uint256"}],"name":"setBalanceOf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"setAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_associatedContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"}]

608060405234801561001057600080fd5b5060405160408061081e833981016040528051602090910151818181600160a060020a03811615156100a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050506106be806101606000396000f3006080604052600436106100a35763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c81146100a857806352f445ca146100cb57806353a47bb7146100ec57806370a082311461011d57806379ba5097146101505780638da5cb5b14610165578063aefc4ccb1461017a578063b46310f61461018f578063da46098c146101b3578063dd62ed3e146101dd575b600080fd5b3480156100b457600080fd5b506100c9600160a060020a0360043516610204565b005b3480156100d757600080fd5b506100c9600160a060020a03600435166102ed565b3480156100f857600080fd5b506101016103d6565b60408051600160a060020a039092168252519081900360200190f35b34801561012957600080fd5b5061013e600160a060020a03600435166103e5565b60408051918252519081900360200190f35b34801561015c57600080fd5b506100c96103f7565b34801561017157600080fd5b506101016104ff565b34801561018657600080fd5b5061010161050e565b34801561019b57600080fd5b506100c9600160a060020a036004351660243561051d565b3480156101bf57600080fd5b506100c9600160a060020a03600435811690602435166044356105c1565b3480156101e957600080fd5b5061013e600160a060020a0360043581169060243516610675565b600054600160a060020a0316331461028c576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a03163314610375576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b60036020526000908152604090205481565b600154600160a060020a0316331461047f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600160a060020a031681565b600254600160a060020a031633146105a5576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600160a060020a03909116600090815260036020526040902055565b600254600160a060020a03163314610649576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600160a060020a0392831660009081526004602090815260408083209490951682529290925291902055565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058207f6fe0296600319cd91e6c8660eafdb4909aa70e8493af0dda09a64b57ac31850029000000000000000000000000b64ff7a4a33acdf48d97dab0d764afd0f61768820000000000000000000000000000000000000000000000000000000000000000

Library Used

SafeDecimalMath : 0x34a5ef81d18f3a305ae9c2d7df42beef4c79031c

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading