ETH Price: $2,401.82 (-1.65%)

Token

PieDAO Staked DEFI+S/ETH (Staked DEFI+S/ETH)
 

Overview

Max Total Supply

70.511183399898797814 Staked DEFI+S/ETH

Holders

4

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
0 Staked DEFI+S/ETH

Value
$0.00
0x0000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PProxy

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.6.2;

contract PProxyStorage {

    function readBool(bytes32 _key) public view returns(bool) {
        return storageRead(_key) == bytes32(uint256(1));
    }

    function setBool(bytes32 _key, bool _value) internal {
        if(_value) {
            storageSet(_key, bytes32(uint256(1)));
        } else {
            storageSet(_key, bytes32(uint256(0)));
        }
    }

    function readAddress(bytes32 _key) public view returns(address) {
        return bytes32ToAddress(storageRead(_key));
    }

    function setAddress(bytes32 _key, address _value) internal {
        storageSet(_key, addressToBytes32(_value));
    }

    function storageRead(bytes32 _key) public view returns(bytes32) {
        bytes32 value;
        //solium-disable-next-line security/no-inline-assembly
        assembly {
            value := sload(_key)
        }
        return value;
    }

    function storageSet(bytes32 _key, bytes32 _value) internal {
        // targetAddress = _address;  // No!
        bytes32 implAddressStorageKey = _key;
        //solium-disable-next-line security/no-inline-assembly
        assembly {
            sstore(implAddressStorageKey, _value)
        }
    }

    function bytes32ToAddress(bytes32 _value) public pure returns(address) {
        return address(uint160(uint256(_value)));
    }

    function addressToBytes32(address _value) public pure returns(bytes32) {
        return bytes32(uint256(_value));
    }

}

contract PProxy is PProxyStorage {

    bytes32 constant IMPLEMENTATION_SLOT = keccak256(abi.encodePacked("IMPLEMENTATION_SLOT"));
    bytes32 constant OWNER_SLOT = keccak256(abi.encodePacked("OWNER_SLOT"));

    modifier onlyProxyOwner() {
        require(msg.sender == readAddress(OWNER_SLOT), "PProxy.onlyProxyOwner: msg sender not owner");
        _;
    }

    constructor () public {
        setAddress(OWNER_SLOT, msg.sender);
    }

    function getProxyOwner() public view returns (address) {
       return readAddress(OWNER_SLOT);
    }

    function setProxyOwner(address _newOwner) onlyProxyOwner public {
        setAddress(OWNER_SLOT, _newOwner);
    }

    function getImplementation() public view returns (address) {
        return readAddress(IMPLEMENTATION_SLOT);
    }

    function setImplementation(address _newImplementation) onlyProxyOwner public {
        setAddress(IMPLEMENTATION_SLOT, _newImplementation);
    }


    fallback () external payable {
       return internalFallback();
    }

    function internalFallback() internal virtual {
        address contractAddr = readAddress(IMPLEMENTATION_SLOT);
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), contractAddr, ptr, calldatasize(), 0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0, size)

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

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_value","type":"address"}],"name":"addressToBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"bytes32ToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"readAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"readBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setProxyOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"storageRead","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5061006760405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001203361006c60201b60201c565b6100be565b61008a8261007f8361008e60201b60201c565b6100b160201b60201c565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000829050818155505050565b610848806100cd6000396000f3fe60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae691461021b578063aaf10f4214610296578063bb15ac8e146102ed578063caaee91c14610340578063d784d426146103915761008b565b80631ab7710d1461009557806337a440e6146100ec5780635ced058e1461013b57806382c947b7146101b65761008b565b5b6100936103e2565b005b3480156100a157600080fd5b506100aa61045c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f857600080fd5b506101256004803603602081101561010f57600080fd5b81019080803590602001909291905050506104b2565b6040518082815260200191505060405180910390f35b34801561014757600080fd5b506101746004803603602081101561015e57600080fd5b81019080803590602001909291905050506104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b50610205600480360360208110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104cf565b6040518082815260200191505060405180910390f35b34801561022757600080fd5b506102546004803603602081101561023e57600080fd5b81019080803590602001909291905050506104f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a257600080fd5b506102ab61050c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f957600080fd5b506103266004803603602081101561031057600080fd5b8101908080359060200190929190505050610562565b604051808215151515815260200191505060405180910390f35b34801561034c57600080fd5b5061038f6004803603602081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057a565b005b34801561039d57600080fd5b506103e0600480360360208110156103b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069f565b005b600061043360405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905060405136600082376000803683855af43d806000843e8160008114610458578184f35b8184fd5b60006104ad60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000610505610500836104b2565b6104c2565b9050919050565b600061055d60405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905090565b6000600160001b610572836104b2565b149050919050565b6105c960405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b61069c60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120826107c4565b50565b6106ee60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b6107c160405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120826107c4565b50565b6107d6826107d1836104cf565b6107da565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220c054b16261eb0fb6b5742f31c931d66a280abdef1a3d9639becbdda07220502c64736f6c63430006040033

Deployed Bytecode

0x60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae691461021b578063aaf10f4214610296578063bb15ac8e146102ed578063caaee91c14610340578063d784d426146103915761008b565b80631ab7710d1461009557806337a440e6146100ec5780635ced058e1461013b57806382c947b7146101b65761008b565b5b6100936103e2565b005b3480156100a157600080fd5b506100aa61045c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f857600080fd5b506101256004803603602081101561010f57600080fd5b81019080803590602001909291905050506104b2565b6040518082815260200191505060405180910390f35b34801561014757600080fd5b506101746004803603602081101561015e57600080fd5b81019080803590602001909291905050506104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b50610205600480360360208110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104cf565b6040518082815260200191505060405180910390f35b34801561022757600080fd5b506102546004803603602081101561023e57600080fd5b81019080803590602001909291905050506104f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a257600080fd5b506102ab61050c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f957600080fd5b506103266004803603602081101561031057600080fd5b8101908080359060200190929190505050610562565b604051808215151515815260200191505060405180910390f35b34801561034c57600080fd5b5061038f6004803603602081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057a565b005b34801561039d57600080fd5b506103e0600480360360208110156103b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069f565b005b600061043360405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905060405136600082376000803683855af43d806000843e8160008114610458578184f35b8184fd5b60006104ad60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000610505610500836104b2565b6104c2565b9050919050565b600061055d60405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905090565b6000600160001b610572836104b2565b149050919050565b6105c960405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b61069c60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120826107c4565b50565b6106ee60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b6107c160405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120826107c4565b50565b6107d6826107d1836104cf565b6107da565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220c054b16261eb0fb6b5742f31c931d66a280abdef1a3d9639becbdda07220502c64736f6c63430006040033

Deployed Bytecode Sourcemap

1514:1583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:18;:16;:18::i;:::-;1514:1583;1973:103;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1973:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;676:248;;5:9:-1;2:2;;;27:1;24;17:12;2:2;676:248:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;676:248:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1246:130;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1246:130:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1246:130:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1384:121;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1384:121:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1384:121:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;415:125;;5:9:-1;2:2;;;27:1;24;17:12;2:2;415:125:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;415:125:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2208:117;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2208:117:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;59:124;;5:9:-1;2:2;;;27:1;24;17:12;2:2;59:124:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;59:124:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2084:116;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2084:116:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2084:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2333:147;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2333:147:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2333:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2570:522;2626:20;2649:32;1605:39;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1605:39:0;;;1595:50;;;;;;2649:11;:32::i;:::-;2626:55;;2733:4;2727:11;2773:14;2770:1;2765:3;2752:36;2874:1;2871;2855:14;2850:3;2836:12;2829:5;2816:60;2902:16;2955:4;2952:1;2947:3;2932:28;2983:6;3008:1;3003:28;;;;3067:4;3062:3;3055:17;3003:28;3024:4;3019:3;3012:17;1973:103;2019:7;2045:23;1692:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1692:30:0;;;1682:41;;;;;;2045:11;:23::i;:::-;2038:30;;1973:103;:::o;676:248::-;731:7;751:13;878:4;872:11;863:20;;911:5;904:12;;;676:248;;;:::o;1246:130::-;1308:7;1359:6;1351:15;;1328:40;;1246:130;;;:::o;1384:121::-;1446:7;1489:6;1481:15;;1473:24;;1466:31;;1384:121;;;:::o;415:125::-;470:7;497:35;514:17;526:4;514:11;:17::i;:::-;497:16;:35::i;:::-;490:42;;415:125;;;:::o;2208:117::-;2258:7;2285:32;1605:39;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1605:39:0;;;1595:50;;;;;;2285:11;:32::i;:::-;2278:39;;2208:117;:::o;59:124::-;111:4;172:1;156:19;;135:17;147:4;135:11;:17::i;:::-;:40;128:47;;59:124;;;:::o;2084:116::-;1791:23;1692:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1692:30:0;;;1682:41;;;;;;1791:11;:23::i;:::-;1777:37;;:10;:37;;;1769:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2159:33:::1;1692:30;;;;;;;;;::::0;::::1;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1692:30:0;;;1682:41;;;;;;2182:9;2159:10;:33::i;:::-;2084:116:::0;:::o;2333:147::-;1791:23;1692:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1692:30:0;;;1682:41;;;;;;1791:11;:23::i;:::-;1777:37;;:10;:37;;;1769:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:51:::1;1605:39;;;;;;;;;::::0;::::1;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1605:39:0;;;1595:50;;;;;;2453:18;2421:10;:51::i;:::-;2333:147:::0;:::o;548:120::-;618:42;629:4;635:24;652:6;635:16;:24::i;:::-;618:10;:42::i;:::-;548:120;;:::o;932:306::-;1048:29;1080:4;1048:36;;1213:6;1190:21;1183:37;1168:63;;;:::o

Swarm Source

ipfs://c054b16261eb0fb6b5742f31c931d66a280abdef1a3d9639becbdda07220502c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.