ERC-20
Overview
Max Total Supply
4,638,669.447398343657304811 eDOUGH
Holders
1,063
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
153.052926631758154148 eDOUGHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PProxy
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-30 */ /** *Submitted for verification at Etherscan.io on 2020-10-30 */ 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
608060405234801561001057600080fd5b5061006760405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001203361006c60201b60201c565b6100be565b61008a8261007f8361008e60201b60201c565b6100b160201b60201c565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000829050818155505050565b610848806100cd6000396000f3fe60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae691461021b578063aaf10f4214610296578063bb15ac8e146102ed578063caaee91c14610340578063d784d426146103915761008b565b80631ab7710d1461009557806337a440e6146100ec5780635ced058e1461013b57806382c947b7146101b65761008b565b5b6100936103e2565b005b3480156100a157600080fd5b506100aa61045c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f857600080fd5b506101256004803603602081101561010f57600080fd5b81019080803590602001909291905050506104b2565b6040518082815260200191505060405180910390f35b34801561014757600080fd5b506101746004803603602081101561015e57600080fd5b81019080803590602001909291905050506104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b50610205600480360360208110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104cf565b6040518082815260200191505060405180910390f35b34801561022757600080fd5b506102546004803603602081101561023e57600080fd5b81019080803590602001909291905050506104f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a257600080fd5b506102ab61050c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f957600080fd5b506103266004803603602081101561031057600080fd5b8101908080359060200190929190505050610562565b604051808215151515815260200191505060405180910390f35b34801561034c57600080fd5b5061038f6004803603602081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057a565b005b34801561039d57600080fd5b506103e0600480360360208110156103b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069f565b005b600061043360405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905060405136600082376000803683855af43d806000843e8160008114610458578184f35b8184fd5b60006104ad60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000610505610500836104b2565b6104c2565b9050919050565b600061055d60405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905090565b6000600160001b610572836104b2565b149050919050565b6105c960405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b61069c60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120826107c4565b50565b6106ee60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b6107c160405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120826107c4565b50565b6107d6826107d1836104cf565b6107da565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220751af61933da54c507864e78dea4e44ab4d20e7a6e56dec75496e1249d08711b64736f6c63430006060033
Deployed Bytecode
0x60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae691461021b578063aaf10f4214610296578063bb15ac8e146102ed578063caaee91c14610340578063d784d426146103915761008b565b80631ab7710d1461009557806337a440e6146100ec5780635ced058e1461013b57806382c947b7146101b65761008b565b5b6100936103e2565b005b3480156100a157600080fd5b506100aa61045c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f857600080fd5b506101256004803603602081101561010f57600080fd5b81019080803590602001909291905050506104b2565b6040518082815260200191505060405180910390f35b34801561014757600080fd5b506101746004803603602081101561015e57600080fd5b81019080803590602001909291905050506104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b50610205600480360360208110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104cf565b6040518082815260200191505060405180910390f35b34801561022757600080fd5b506102546004803603602081101561023e57600080fd5b81019080803590602001909291905050506104f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a257600080fd5b506102ab61050c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f957600080fd5b506103266004803603602081101561031057600080fd5b8101908080359060200190929190505050610562565b604051808215151515815260200191505060405180910390f35b34801561034c57600080fd5b5061038f6004803603602081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057a565b005b34801561039d57600080fd5b506103e0600480360360208110156103b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069f565b005b600061043360405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905060405136600082376000803683855af43d806000843e8160008114610458578184f35b8184fd5b60006104ad60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000610505610500836104b2565b6104c2565b9050919050565b600061055d60405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001206104f2565b905090565b6000600160001b610572836104b2565b149050919050565b6105c960405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b61069c60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120826107c4565b50565b6106ee60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001206104f2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806107e8602b913960400191505060405180910390fd5b6107c160405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120826107c4565b50565b6107d6826107d1836104cf565b6107da565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220751af61933da54c507864e78dea4e44ab4d20e7a6e56dec75496e1249d08711b64736f6c63430006060033
Deployed Bytecode Sourcemap
1585:1583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2607:18;:16;:18::i;:::-;1585:1583;2044:103;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2044:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;747:248;;5:9:-1;2:2;;;27:1;24;17:12;2:2;747:248:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;747:248:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1317:130;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1317:130:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1317:130:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1455:121;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1455:121:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1455:121:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;486:125;;5:9:-1;2:2;;;27:1;24;17:12;2:2;486:125:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;486:125:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2279:117;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2279:117:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;130:124;;5:9:-1;2:2;;;27:1;24;17:12;2:2;130:124:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;130:124:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2155:116;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2155:116:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2155:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2404:147;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2404:147:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2404:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2641:522;2697:20;2720:32;1676:39;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1676:39:0;;;1666:50;;;;;;2720:11;:32::i;:::-;2697:55;;2804:4;2798:11;2844:14;2841:1;2836:3;2823:36;2945:1;2942;2926:14;2921:3;2907:12;2900:5;2887:60;2973:16;3026:4;3023:1;3018:3;3003:28;3054:6;3079:1;3074:28;;;;3138:4;3133:3;3126:17;3074:28;3095:4;3090:3;3083:17;2044:103;2090:7;2116:23;1763:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1763:30:0;;;1753:41;;;;;;2116:11;:23::i;:::-;2109:30;;2044:103;:::o;747:248::-;802:7;822:13;949:4;943:11;934:20;;982:5;975:12;;;747:248;;;:::o;1317:130::-;1379:7;1430:6;1422:15;;1399:40;;1317:130;;;:::o;1455:121::-;1517:7;1560:6;1552:15;;1544:24;;1537:31;;1455:121;;;:::o;486:125::-;541:7;568:35;585:17;597:4;585:11;:17::i;:::-;568:16;:35::i;:::-;561:42;;486:125;;;:::o;2279:117::-;2329:7;2356:32;1676:39;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1676:39:0;;;1666:50;;;;;;2356:11;:32::i;:::-;2349:39;;2279:117;:::o;130:124::-;182:4;243:1;227:19;;206:17;218:4;206:11;:17::i;:::-;:40;199:47;;130:124;;;:::o;2155:116::-;1862:23;1763:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1763:30:0;;;1753:41;;;;;;1862:11;:23::i;:::-;1848:37;;:10;:37;;;1840:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2230:33:::1;1763:30;;;;;;;;;::::0;::::1;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1763:30:0;;;1753:41;;;;;;2253:9;2230:10;:33::i;:::-;2155:116:::0;:::o;2404:147::-;1862:23;1763:30;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1763:30:0;;;1753:41;;;;;;1862:11;:23::i;:::-;1848:37;;:10;:37;;;1840:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:51:::1;1676:39;;;;;;;;;::::0;::::1;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1676:39:0;;;1666:50;;;;;;2524:18;2492:10;:51::i;:::-;2404:147:::0;:::o;619:120::-;689:42;700:4;706:24;723:6;706:16;:24::i;:::-;689:10;:42::i;:::-;619:120;;:::o;1003:306::-;1119:29;1151:4;1119:36;;1284:6;1261:21;1254:37;1239:63;;;:::o
Swarm Source
ipfs://751af61933da54c507864e78dea4e44ab4d20e7a6e56dec75496e1249d08711b
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.