ETH Price: $2,629.94 (+1.02%)
Gas: 4 Gwei

Contract

0x5Fe2F5F2Cc97887746C5cB44386A94061F35DcC4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xa4a94df0637ae3fca83276087be71244ef5bda1664106d714fb0fb3b42433aec Claim(pending)2024-08-11 3:02:1516 hrs ago1723345335IN
0x5Fe2F5F2...61F35DcC4
0 ETH(Pending)(Pending)
Claim204031452024-07-28 6:06:4714 days ago1722146807IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000161181.62849884
Claim201788612024-06-26 22:31:5945 days ago1719441119IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000420564.24907532
Claim201510042024-06-23 1:05:3549 days ago1719104735IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000169172.06625074
Claim201482902024-06-22 15:59:2350 days ago1719071963IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000369323.73142437
Claim201418432024-06-21 18:19:4751 days ago1718993987IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000719697.27130988
Claim201386122024-06-21 7:30:2351 days ago1718955023IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000302313.05436973
Claim201373622024-06-21 3:18:4751 days ago1718939927IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.000314083.1733314
Claim199410132024-05-24 16:44:2379 days ago1716569063IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0011365911.48345709
Claim199121502024-05-20 15:51:5983 days ago1716220319IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0015836916.0006384
Claim193450982024-03-02 4:27:47162 days ago1709353667IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0039967840.38095505
Claim190074582024-01-14 20:17:59209 days ago1705263479IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0019938220.14429182
Claim188383012023-12-22 2:05:35233 days ago1703210735IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0029101929.40270176
Claim179353852023-08-17 15:18:59360 days ago1692285539IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0048202848.70101385
Claim174761642023-06-14 5:38:35424 days ago1686721115IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0014441514.59077
Claim174169642023-06-05 21:26:11432 days ago1686000371IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0029786230.09407697
Claim170478842023-04-14 20:58:35484 days ago1681505915IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.003107231.39321793
Claim166449682023-02-17 0:47:35541 days ago1676594855IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0032068132.39960569
Claim160866732022-12-01 1:28:47619 days ago1669858127IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0012135612.26108608
Claim158118342022-10-23 15:53:59658 days ago1666540439IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0012542112.67383719
Claim153482212022-08-15 20:53:00726 days ago1660596780IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0023474823.72133516
Claim151764792022-07-20 1:12:47753 days ago1658279567IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0009368532.83979519
Claim150053342022-06-22 2:14:14781 days ago1655864054IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0021785522.01426384
Claim148448822022-05-26 0:19:00808 days ago1653524340IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.0032462832.80365728
Claim148268012022-05-23 1:46:13811 days ago1653270373IN
0x5Fe2F5F2...61F35DcC4
0 ETH0.002610826.38220879
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OwnedUpgradeabilityProxy

Compiler Version
v0.6.10+commit.00c0fcaf

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-07-24
*/

// SPDX-License-Identifier: UNLICENSED
// solhint-disable const-name-snakecase
pragma solidity 0.6.10;

/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract OwnedUpgradeabilityProxy {
    /**
     * @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 = 0x6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac; //keccak256("trueUSD.proxy.owner");
    bytes32 private constant pendingProxyOwnerPosition = 0x8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f4; //keccak256("trueUSD.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 owner 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 pendingOwner the address of the pending 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) public virtual 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 = 0x6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7; //keccak256("trueUSD.proxy.implementation");

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

    /**
     * @dev Fallback functions allowing to perform a delegatecall to the given implementation.
     * This function will return whatever the implementation call returns
     */
    fallback() external payable {
        proxyCall();
    }

    receive() external payable {
        proxyCall();
    }

    function proxyCall() internal {
        bytes32 position = implementationPosition;

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, returndatasize(), calldatasize())
            let result := delegatecall(gas(), sload(position), ptr, calldatasize(), returndatasize(), returndatasize())
            returndatacopy(ptr, 0, returndatasize())

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

Contract Security Audit

Contract ABI

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

608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b61004c565b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac55565b61062d8061005b6000396000f3fe6080604052600436106100695760003560e01c80635c60da1b116100435780635c60da1b146101135780639965b3d614610128578063f1739cae1461013d57610078565b8063025313a2146100805780630add8140146100be5780633659cfe6146100d357610078565b366100785761007661017d565b005b61007661017d565b34801561008c57600080fd5b506100956101c2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100ca57600080fd5b506100956101e7565b3480156100df57600080fd5b50610076600480360360208110156100f657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b34801561011f57600080fd5b50610095610340565b34801561013457600080fd5b50610076610365565b34801561014957600080fd5b506100766004803603602081101561016057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661048a565b6040517f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc790363d82373d3d368385545af43d6000833e8080156101be573d83f35b3d83fd5b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac5490565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45490565b6102146101c2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc780549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102f757600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc75490565b61036d6101e7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b61040e6101e7565b73ffffffffffffffffffffffffffffffffffffffff1661042c6101c2565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361047e6104796101e7565b6105af565b61048860006105d3565b565b6104926101c2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461052b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661054b57600080fd5b610554816105d3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61057d6101c2565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac55565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45556fea2646970667358221220e5eff75b25e3b71bbcb922cc3934d899998810633a40b92461d6b52ba63b5c9d64736f6c634300060a0033

Deployed Bytecode

0x6080604052600436106100695760003560e01c80635c60da1b116100435780635c60da1b146101135780639965b3d614610128578063f1739cae1461013d57610078565b8063025313a2146100805780630add8140146100be5780633659cfe6146100d357610078565b366100785761007661017d565b005b61007661017d565b34801561008c57600080fd5b506100956101c2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100ca57600080fd5b506100956101e7565b3480156100df57600080fd5b50610076600480360360208110156100f657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b34801561011f57600080fd5b50610095610340565b34801561013457600080fd5b50610076610365565b34801561014957600080fd5b506100766004803603602081101561016057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661048a565b6040517f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc790363d82373d3d368385545af43d6000833e8080156101be573d83f35b3d83fd5b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac5490565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45490565b6102146101c2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc780549073ffffffffffffffffffffffffffffffffffffffff80831690841614156102f757600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc75490565b61036d6101e7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b61040e6101e7565b73ffffffffffffffffffffffffffffffffffffffff1661042c6101c2565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a361047e6104796101e7565b6105af565b61048860006105d3565b565b6104926101c2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461052b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661054b57600080fd5b610554816105d3565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b61057d6101c2565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac55565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45556fea2646970667358221220e5eff75b25e3b71bbcb922cc3934d899998810633a40b92461d6b52ba63b5c9d64736f6c634300060a0033

Deployed Bytecode Sourcemap

259:5976:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5584:11;:9;:11::i;:::-;259:5976;;5519:11;:9;:11::i;2052:183::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2367:211;;;;;;;;;;;;;:::i;4169:434::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4169:434:0;;;;:::i;5094:189::-;;;;;;;;;;;;;:::i;3716:254::-;;;;;;;;;;;;;:::i;3391:230::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3391:230:0;;;;:::i;5611:621::-;5747:4;5741:11;4974:66;;5802:14;5784:16;5741:11;5766:51;5921:16;5903;5887:14;5882:3;5871:8;5865:15;5858:5;5845:93;5975:16;5972:1;5967:3;5952:40;6015:6;6039:78;;;;6178:16;6173:3;6166:29;6039:78;6081:16;6076:3;6069:29;2052:183;1029:66;2202:15;;2178:50::o;2367:211::-;1191:66;2545:15;;2514:57::o;4169:434::-;1647:12;:10;:12::i;:::-;1633:26;;:10;:26;;;1625:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4974:66:::1;4394:15:::0;;;4438:39:::1;::::0;;::::1;::::0;;::::1;;;4430:48;;;::::0;::::1;;4513:32:::0;;;4571:24:::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;1691:1;;4169:434:::0;:::o;5094:189::-;4974:66;5250:15;;5227:49::o;3716:254::-;1867:19;:17;:19::i;:::-;1853:33;;:10;:33;;;1845:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3834:19:::1;:17;:19::i;:::-;3794:60;;3820:12;:10;:12::i;:::-;3794:60;;;;;;;;;;;;3865:44;3889:19;:17;:19::i;:::-;3865:23;:44::i;:::-;3920:42;3959:1;3920:30;:42::i;:::-;3716:254::o:0;3391:230::-;1647:12;:10;:12::i;:::-;1633:26;;:10;:26;;;1625:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3484:22:::1;::::0;::::1;3476:31;;;::::0;::::1;;3518:40;3549:8;3518:30;:40::i;:::-;3574:39;3590:12;:10;:12::i;:::-;3574:39;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;3391:230:::0;:::o;2647:197::-;1029:66;2795:31;2780:57::o;2913:225::-;1191:66;3082:38;3067:64::o

Swarm Source

ipfs://e5eff75b25e3b71bbcb922cc3934d899998810633a40b92461d6b52ba63b5c9d

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.