ETH Price: $3,002.81 (+3.01%)
Gas: 2 Gwei

Contract

0x00006100F7090010005F1bd7aE6122c3C2CF0090
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer201546142024-06-23 13:13:4712 days ago1719148427IN
TrueAUD
0 ETH0.000165582.93649671
Transfer200880892024-06-14 5:55:1122 days ago1718344511IN
TrueAUD
0 ETH0.000524828.57726333
Transfer199377692024-05-24 5:51:2343 days ago1716529883IN
TrueAUD
0 ETH0.000367178.32813998
Transfer199375742024-05-24 5:12:2343 days ago1716527543IN
TrueAUD
0 ETH0.000424836.94577555
Transfer198806462024-05-16 6:07:3551 days ago1715839655IN
TrueAUD
0 ETH0.000345746.13151438
Transfer198802142024-05-16 4:40:3551 days ago1715834435IN
TrueAUD
0 ETH0.000239123.90807352
Transfer198250602024-05-08 11:31:3558 days ago1715167895IN
TrueAUD
0 ETH0.000238316.06578218
Transfer198247432024-05-08 10:27:2359 days ago1715164043IN
TrueAUD
0 ETH0.00024164.28463106
Transfer197953312024-05-04 7:44:4763 days ago1714808687IN
TrueAUD
0 ETH0.000451657.38150539
Approve197524682024-04-28 7:56:4769 days ago1714291007IN
TrueAUD
0 ETH0.000188525.60060379
Approve197524662024-04-28 7:56:2369 days ago1714290983IN
TrueAUD
0 ETH0.000179885.3439741
Transfer196361952024-04-12 1:17:3585 days ago1712884655IN
TrueAUD
0 ETH0.0007709812.60025125
Transfer195890732024-04-05 10:54:4791 days ago1712314487IN
TrueAUD
0 ETH0.0011264318.41306415
Transfer195471982024-03-30 13:55:1197 days ago1711806911IN
TrueAUD
0 ETH0.0015683227.81318594
Transfer195471072024-03-30 13:36:5997 days ago1711805819IN
TrueAUD
0 ETH0.0014784926.2145034
Transfer195441762024-03-30 3:43:1198 days ago1711770191IN
TrueAUD
0 ETH0.0014102823.04844063
Transfer194618392024-03-18 13:00:23109 days ago1710766823IN
TrueAUD
0 ETH0.0033668255.03501355
Approve194592012024-03-18 4:07:11110 days ago1710734831IN
TrueAUD
0 ETH0.0014437425.83412673
Transfer194238532024-03-13 4:45:35115 days ago1710305135IN
TrueAUD
0 ETH0.0023584541.80775761
Transfer194103822024-03-11 7:32:11117 days ago1710142331IN
TrueAUD
0 ETH0.004027465.79437171
Transfer192390102024-02-16 7:34:47141 days ago1708068887IN
TrueAUD
0 ETH0.0014512623.71805979
Transfer191721142024-02-06 22:19:11150 days ago1707257951IN
TrueAUD
0 ETH0.0016090426.30194961
Transfer190689982024-01-23 11:13:47164 days ago1706008427IN
TrueAUD
0 ETH0.0008313314.73682647
Approve190688682024-01-23 10:47:35164 days ago1706006855IN
TrueAUD
0 ETH0.0008784215.71846065
Transfer190554912024-01-21 13:19:35166 days ago1705843175IN
TrueAUD
0 ETH0.0012724320.79542825
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
89533772019-11-17 23:59:351692 days ago1574035175
TrueAUD
 Contract Creation0 ETH
89533772019-11-17 23:59:351692 days ago1574035175
TrueAUD
 Contract Creation0 ETH
89533772019-11-17 23:59:351692 days ago1574035175
TrueAUD
 Contract Creation0 ETH
89434132019-11-16 8:32:471694 days ago1573893167
TrueAUD
 Contract Creation0 ETH
89434132019-11-16 8:32:471694 days ago1573893167
TrueAUD
 Contract Creation0 ETH
89434132019-11-16 8:32:471694 days ago1573893167
TrueAUD
 Contract Creation0 ETH
88192552019-10-27 3:21:291714 days ago1572146489
TrueAUD
 Contract Creation0 ETH
88192552019-10-27 3:21:291714 days ago1572146489
TrueAUD
 Contract Creation0 ETH
88192552019-10-27 3:21:291714 days ago1572146489
TrueAUD
 Contract Creation0 ETH
87872432019-10-22 1:09:461719 days ago1571706586
TrueAUD
 Contract Creation0 ETH
87872432019-10-22 1:09:461719 days ago1571706586
TrueAUD
 Contract Creation0 ETH
87872432019-10-22 1:09:461719 days ago1571706586
TrueAUD
 Contract Creation0 ETH
87871772019-10-22 0:54:091719 days ago1571705649
TrueAUD
 Contract Creation0 ETH
87871772019-10-22 0:54:091719 days ago1571705649
TrueAUD
 Contract Creation0 ETH
87871772019-10-22 0:54:091719 days ago1571705649
TrueAUD
 Contract Creation0 ETH
87864402019-10-21 22:07:331719 days ago1571695653
TrueAUD
 Contract Creation0 ETH
87864402019-10-21 22:07:331719 days ago1571695653
TrueAUD
 Contract Creation0 ETH
87864402019-10-21 22:07:331719 days ago1571695653
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87831222019-10-21 9:24:411720 days ago1571649881
TrueAUD
 Contract Creation0 ETH
87829502019-10-21 8:44:531720 days ago1571647493
TrueAUD
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TrueAUD

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 20000 runs

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

pragma solidity ^0.4.23;

// File: contracts/Proxy/OwnedUpgradeabilityProxy.sol

/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract TrueAUD {
    /**
    * @dev Event to show ownership has been transferred
    * @param previousOwner representing the address of the previous owner
    * @param newOwner representing the address of the new owner
    */
    event ProxyOwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev Event to show ownership transfer is pending
    * @param currentOwner representing the address of the current owner
    * @param pendingOwner representing the address of the pending owner
    */
    event NewPendingOwner(address currentOwner, address pendingOwner);
    
    // Storage position of the owner and pendingOwner of the contract
    bytes32 private constant proxyOwnerPosition = 0x9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c;//keccak256("trueAUD.proxy.owner");
    bytes32 private constant pendingProxyOwnerPosition = 0x7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d1;//keccak256("trueAUD.pending.proxy.owner");

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

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyProxyOwner() {
        require(msg.sender == proxyOwner(), "only Proxy Owner");
        _;
    }

    /**
    * @dev Throws if called by any account other than the pending owner.
    */
    modifier onlyPendingProxyOwner() {
        require(msg.sender == pendingProxyOwner(), "only pending Proxy Owner");
        _;
    }

    /**
    * @dev Tells the address of the owner
    * @return the address of the owner
    */
    function proxyOwner() public view returns (address owner) {
        bytes32 position = proxyOwnerPosition;
        assembly {
            owner := sload(position)
        }
    }

    /**
    * @dev Tells the address of the owner
    * @return the address of the owner
    */
    function pendingProxyOwner() public view returns (address pendingOwner) {
        bytes32 position = pendingProxyOwnerPosition;
        assembly {
            pendingOwner := sload(position)
        }
    }

    /**
    * @dev Sets the address of the owner
    */
    function _setUpgradeabilityOwner(address newProxyOwner) internal {
        bytes32 position = proxyOwnerPosition;
        assembly {
            sstore(position, newProxyOwner)
        }
    }

    /**
    * @dev Sets the address of the owner
    */
    function _setPendingUpgradeabilityOwner(address newPendingProxyOwner) internal {
        bytes32 position = pendingProxyOwnerPosition;
        assembly {
            sstore(position, newPendingProxyOwner)
        }
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    *changes the pending owner to newOwner. But doesn't actually transfer
    * @param newOwner The address to transfer ownership to.
    */
    function transferProxyOwnership(address newOwner) external onlyProxyOwner {
        require(newOwner != address(0));
        _setPendingUpgradeabilityOwner(newOwner);
        emit NewPendingOwner(proxyOwner(), newOwner);
    }

    /**
    * @dev Allows the pendingOwner to claim ownership of the proxy
    */
    function claimProxyOwnership() external onlyPendingProxyOwner {
        emit ProxyOwnershipTransferred(proxyOwner(), pendingProxyOwner());
        _setUpgradeabilityOwner(pendingProxyOwner());
        _setPendingUpgradeabilityOwner(address(0));
    }

    /**
    * @dev Allows the proxy owner to upgrade the current version of the proxy.
    * @param implementation representing the address of the new implementation to be set.
    */
    function upgradeTo(address implementation) external onlyProxyOwner {
        address currentImplementation;
        bytes32 position = implementationPosition;
        assembly {
            currentImplementation := sload(position)
        }
        require(currentImplementation != implementation);
        assembly {
          sstore(position, implementation)
        }
        emit Upgraded(implementation);
    }
    /**
    * @dev This event will be emitted every time the implementation gets upgraded
    * @param implementation representing the address of the upgraded implementation
    */
    event Upgraded(address indexed implementation);

    // Storage position of the address of the current implementation
    bytes32 private constant implementationPosition = 0xc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb; //keccak256("trueAUD.proxy.implementation");

    function implementation() public view returns (address impl) {
        bytes32 position = implementationPosition;
        assembly {
            impl := sload(position)
        }
    }

    /**
    * @dev Fallback function allowing to perform a delegatecall to the given implementation.
    * This function will return whatever the implementation call returns
    */
    function() external payable {
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, returndatasize, calldatasize)
            let result := delegatecall(gas, sload(0xc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb), ptr, calldatasize, returndatasize, returndatasize)
            returndatacopy(ptr, 0, returndatasize)

            switch result
            case 0 { revert(ptr, returndatasize) }
            default { return(ptr, returndatasize) }
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingProxyOwner","outputs":[{"name":"pendingOwner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"currentOwner","type":"address"},{"indexed":false,"name":"pendingOwner","type":"address"}],"name":"NewPendingOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

608060405234801561001057600080fd5b5061002333640100000000610028810204565b61004c565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b6106038061005b6000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100ba5780630add8140146100f85780633659cfe61461010d5780635c60da1b1461013d5780639965b3d614610152578063f1739cae14610167575b604051363d82373d3d36837fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb545af43d6000833e8080156100b6573d83f35b3d83fd5b3480156100c657600080fd5b506100cf610195565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010457600080fd5b506100cf6101ba565b34801561011957600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff600435166101df565b005b34801561014957600080fd5b506100cf61031a565b34801561015e57600080fd5b5061013b61033f565b34801561017357600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff60043516610466565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c5490565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d15490565b6000806101ea610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b50507fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb80549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102d157600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb5490565b6103476101ba565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b6103ea6101ba565b73ffffffffffffffffffffffffffffffffffffffff16610408610195565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361045a6104556101ba565b61058f565b61046460006105b3565b565b61046e610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561052b57600080fd5b610534816105b3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61055d610195565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d1555600a165627a7a72305820812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a5420029

Deployed Bytecode

0x6080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100ba5780630add8140146100f85780633659cfe61461010d5780635c60da1b1461013d5780639965b3d614610152578063f1739cae14610167575b604051363d82373d3d36837fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb545af43d6000833e8080156100b6573d83f35b3d83fd5b3480156100c657600080fd5b506100cf610195565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010457600080fd5b506100cf6101ba565b34801561011957600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff600435166101df565b005b34801561014957600080fd5b506100cf61031a565b34801561015e57600080fd5b5061013b61033f565b34801561017357600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff60043516610466565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c5490565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d15490565b6000806101ea610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b50507fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb80549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102d157600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb5490565b6103476101ba565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b6103ea6101ba565b73ffffffffffffffffffffffffffffffffffffffff16610408610195565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361045a6104556101ba565b61058f565b61046460006105b3565b565b61046e610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561052b57600080fd5b610534816105b3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61055d610195565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d1555600a165627a7a72305820812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a5420029

Swarm Source

bzzr://812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a542

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  ]
[ 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.