More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 54,328 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 24403128 | 14 days ago | IN | 0 ETH | 0.0000047 | ||||
| Transfer | 24403072 | 14 days ago | IN | 0 ETH | 0.00001011 | ||||
| Transfer | 24337973 | 24 days ago | IN | 0 ETH | 0.00000339 | ||||
| Transfer | 24295321 | 30 days ago | IN | 0 ETH | 0.00000123 | ||||
| Transfer | 24294906 | 30 days ago | IN | 0 ETH | 0.00000151 | ||||
| Transfer | 24294906 | 30 days ago | IN | 0 ETH | 0.00000151 | ||||
| Transfer | 24281244 | 31 days ago | IN | 0 ETH | 0.00000194 | ||||
| Transfer | 24280155 | 32 days ago | IN | 0 ETH | 0.00000168 | ||||
| Transfer | 24280155 | 32 days ago | IN | 0 ETH | 0.00000168 | ||||
| Transfer | 24279951 | 32 days ago | IN | 0 ETH | 0.00000192 | ||||
| Transfer | 24278587 | 32 days ago | IN | 0 ETH | 0.00000235 | ||||
| Transfer | 24278529 | 32 days ago | IN | 0 ETH | 0.00000251 | ||||
| Transfer | 24218136 | 40 days ago | IN | 0 ETH | 0.00007857 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.00007857 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.0000786 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.00007862 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.00007862 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.00007862 | ||||
| Transfer | 24218125 | 40 days ago | IN | 0 ETH | 0.00007857 | ||||
| Approve | 23854581 | 91 days ago | IN | 0 ETH | 0.00000393 | ||||
| Transfer | 23708313 | 112 days ago | IN | 0 ETH | 0.00000539 | ||||
| Approve | 23322278 | 166 days ago | IN | 0 ETH | 0.00001226 | ||||
| Approve | 23036793 | 206 days ago | IN | 0 ETH | 0.00009398 | ||||
| Transfer | 22970100 | 215 days ago | IN | 0 ETH | 0.00008817 | ||||
| Transfer | 22970010 | 215 days ago | IN | 0 ETH | 0.00012235 |
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
TrueAUD
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
Yes with 20000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
608060405234801561001057600080fd5b5061002333640100000000610028810204565b61004c565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b6106038061005b6000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100ba5780630add8140146100f85780633659cfe61461010d5780635c60da1b1461013d5780639965b3d614610152578063f1739cae14610167575b604051363d82373d3d36837fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb545af43d6000833e8080156100b6573d83f35b3d83fd5b3480156100c657600080fd5b506100cf610195565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010457600080fd5b506100cf6101ba565b34801561011957600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff600435166101df565b005b34801561014957600080fd5b506100cf61031a565b34801561015e57600080fd5b5061013b61033f565b34801561017357600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff60043516610466565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c5490565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d15490565b6000806101ea610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b50507fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb80549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102d157600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb5490565b6103476101ba565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b6103ea6101ba565b73ffffffffffffffffffffffffffffffffffffffff16610408610195565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361045a6104556101ba565b61058f565b61046460006105b3565b565b61046e610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561052b57600080fd5b610534816105b3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61055d610195565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d1555600a165627a7a72305820812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a5420029
Deployed Bytecode
0x6080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100ba5780630add8140146100f85780633659cfe61461010d5780635c60da1b1461013d5780639965b3d614610152578063f1739cae14610167575b604051363d82373d3d36837fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb545af43d6000833e8080156100b6573d83f35b3d83fd5b3480156100c657600080fd5b506100cf610195565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010457600080fd5b506100cf6101ba565b34801561011957600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff600435166101df565b005b34801561014957600080fd5b506100cf61031a565b34801561015e57600080fd5b5061013b61033f565b34801561017357600080fd5b5061013b73ffffffffffffffffffffffffffffffffffffffff60043516610466565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c5490565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d15490565b6000806101ea610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b50507fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb80549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102d157600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7fc20777594ecafd73f44a72aa5ad2de8704211212d04473d4b208539e34ba14eb5490565b6103476101ba565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b6103ea6101ba565b73ffffffffffffffffffffffffffffffffffffffff16610408610195565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361045a6104556101ba565b61058f565b61046460006105b3565b565b61046e610195565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561052b57600080fd5b610534816105b3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61055d610195565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f9afdba48695f976525206667656e0eb4a6d66671c0d3ec078f1f48d2307ed49c55565b7f7b9044cf1491ee5d1e688907e48d0439248c6543a740f2f5f828fecf8367c4d1555600a165627a7a72305820812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a5420029
Swarm Source
bzzr://812fd85d9d5f92732effc3c491bae417eeb306384d54674f1a224fc44e38a542
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.