ETH Price: $3,218.35 (+1.75%)

Contract

0x9EFD60f40e35B3cA7294cC268A35d3e35101BE42
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw194247272024-03-13 7:41:35246 days ago1710315695IN
0x9EFD60f4...35101BE42
0 ETH0.0021390940.7292396
Withdraw194247272024-03-13 7:41:35246 days ago1710315695IN
0x9EFD60f4...35101BE42
0 ETH0.0049096940.72473963
Get Reward180281632023-08-30 14:59:11441 days ago1693407551IN
0x9EFD60f4...35101BE42
0 ETH0.016782846.58861336
Withdraw180281612023-08-30 14:58:47441 days ago1693407527IN
0x9EFD60f4...35101BE42
0 ETH0.0056275646.68397562
Get Reward180136782023-08-28 14:16:23443 days ago1693232183IN
0x9EFD60f4...35101BE42
0 ETH0.0028261946.81371092
Withdraw180136762023-08-28 14:15:59443 days ago1693232159IN
0x9EFD60f4...35101BE42
0 ETH0.0049515550.59943036
Get Reward180136742023-08-28 14:15:35443 days ago1693232135IN
0x9EFD60f4...35101BE42
0 ETH0.0177065348.49084851
Get Reward178315752023-08-03 2:45:35469 days ago1691030735IN
0x9EFD60f4...35101BE42
0 ETH0.0055979315.53970663
Withdraw178314372023-08-03 2:17:47469 days ago1691029067IN
0x9EFD60f4...35101BE42
0 ETH0.001702714.12634279
Exit163819252023-01-11 6:57:59673 days ago1673420279IN
0x9EFD60f4...35101BE42
0 ETH0.006632515.7827044
Withdraw163644422023-01-08 20:25:11675 days ago1673209511IN
0x9EFD60f4...35101BE42
0 ETH0.0057565858.8403151
Exit162682332022-12-26 10:08:11688 days ago1672049291IN
0x9EFD60f4...35101BE42
0 ETH0.0046411111.51244844
Exit162297452022-12-21 1:19:11694 days ago1671585551IN
0x9EFD60f4...35101BE42
0 ETH0.0049946812.38948269
Exit161189582022-12-05 13:39:35709 days ago1670247575IN
0x9EFD60f4...35101BE42
0 ETH0.0005780111.91533477
Exit161189542022-12-05 13:38:47709 days ago1670247527IN
0x9EFD60f4...35101BE42
0 ETH0.0048810612.30205248
Get Reward159962382022-11-18 10:15:47726 days ago1668766547IN
0x9EFD60f4...35101BE42
0 ETH0.004682713.46224195
Withdraw159962282022-11-18 10:13:47726 days ago1668766427IN
0x9EFD60f4...35101BE42
0 ETH0.0016405913.60834397
Exit159766682022-11-15 16:35:59729 days ago1668530159IN
0x9EFD60f4...35101BE42
0 ETH0.008622324.26330925
Exit156085152022-09-25 6:11:59781 days ago1664086319IN
0x9EFD60f4...35101BE42
0 ETH0.003445678.24620932
Withdraw154661682022-09-03 15:31:19802 days ago1662219079IN
0x9EFD60f4...35101BE42
0 ETH0.000637266.51213205
Get Reward154661362022-09-03 15:23:06802 days ago1662218586IN
0x9EFD60f4...35101BE42
0 ETH0.001962735.38086099
Withdraw153559292022-08-17 1:59:30820 days ago1660701570IN
0x9EFD60f4...35101BE42
0 ETH0.001035988.59325829
Exit144802582022-03-29 9:11:57960 days ago1648545117IN
0x9EFD60f4...35101BE42
0 ETH0.0111479326.5521778
Exit144129302022-03-18 21:49:07971 days ago1647640147IN
0x9EFD60f4...35101BE42
0 ETH0.0202546748.24264321
Withdraw144112162022-03-18 15:26:24971 days ago1647617184IN
0x9EFD60f4...35101BE42
0 ETH0.0092990877.14907118
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xFcBB61bc...E0978cAfc
The constructor portion of the code might be different and could alter the actual behaviour of the contract

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"}]

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

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.