ERC-20
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)
Balance
0 Staked DEFI+S/ETHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PProxy
Compiler Version
v0.6.4+commit.1dca32f3
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.