ETH Price: $3,336.18 (-3.32%)
Gas: 7.46 Gwei

Contract

0x6de77A304609472A4811a0BFD47d8682Aebc29df
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw212663852024-11-25 17:53:3528 hrs ago1732557215IN
0x6de77A30...2Aebc29df
0 ETH0.0073531418.57356149
Withdraw212377042024-11-21 17:49:475 days ago1732211387IN
0x6de77A30...2Aebc29df
0 ETH0.0082053519.62712588
Withdraw212376882024-11-21 17:46:355 days ago1732211195IN
0x6de77A30...2Aebc29df
0 ETH0.0082632719.16232972
Withdraw211998872024-11-16 11:13:5910 days ago1731755639IN
0x6de77A30...2Aebc29df
0 ETH0.0046907410.4596817
Claim206009382024-08-24 20:47:5994 days ago1724532479IN
0x6de77A30...2Aebc29df
0 ETH0.000086671.49215109
Withdraw206009372024-08-24 20:47:4794 days ago1724532467IN
0x6de77A30...2Aebc29df
0 ETH0.000959232.45376069
Withdraw203614442024-07-22 10:22:11127 days ago1721643731IN
0x6de77A30...2Aebc29df
0 ETH0.000580094.83401235
Withdraw200807812024-06-13 5:20:59166 days ago1718256059IN
0x6de77A30...2Aebc29df
0 ETH0.0039724611.11858303
Withdraw200805982024-06-13 4:43:59166 days ago1718253839IN
0x6de77A30...2Aebc29df
0 ETH0.0040473410.33757802
Exit200455972024-06-08 7:23:59171 days ago1717831439IN
0x6de77A30...2Aebc29df
0 ETH0.00386859.65550046
Withdraw200017192024-06-02 4:22:11177 days ago1717302131IN
0x6de77A30...2Aebc29df
0 ETH0.00215964.89115451
Withdraw195021992024-03-24 5:00:59247 days ago1711256459IN
0x6de77A30...2Aebc29df
0 ETH0.0054583516.2881051
Withdraw195021942024-03-24 4:59:59247 days ago1711256399IN
0x6de77A30...2Aebc29df
0 ETH0.0063764816.83368617
Withdraw194331462024-03-14 12:07:47257 days ago1710418067IN
0x6de77A30...2Aebc29df
0 ETH0.0188040242.58803512
Withdraw194185622024-03-12 11:00:47259 days ago1710241247IN
0x6de77A30...2Aebc29df
0 ETH0.0211992948.01294079
Withdraw192889032024-02-23 7:48:35277 days ago1708674515IN
0x6de77A30...2Aebc29df
0 ETH0.0051018139.22870561
Withdraw192884522024-02-23 6:17:59277 days ago1708669079IN
0x6de77A30...2Aebc29df
0 ETH0.0036436330.40896235
Withdraw191602302024-02-05 6:15:47295 days ago1707113747IN
0x6de77A30...2Aebc29df
0 ETH0.0042473310.15958644
Claim191523862024-02-04 3:48:59296 days ago1707018539IN
0x6de77A30...2Aebc29df
0 ETH0.0037994311.64698907
Withdraw190485402024-01-20 14:01:23311 days ago1705759283IN
0x6de77A30...2Aebc29df
0 ETH0.0070843917.66848336
Withdraw190369052024-01-18 23:03:47312 days ago1705619027IN
0x6de77A30...2Aebc29df
0 ETH0.0028611622
Claim190315682024-01-18 5:09:11313 days ago1705554551IN
0x6de77A30...2Aebc29df
0 ETH0.0064087922
Withdraw190313682024-01-18 4:28:59313 days ago1705552139IN
0x6de77A30...2Aebc29df
0 ETH0.0026510124
Claim190313682024-01-18 4:28:59313 days ago1705552139IN
0x6de77A30...2Aebc29df
0 ETH0.0084498424
Withdraw188463062023-12-23 5:02:23339 days ago1703307743IN
0x6de77A30...2Aebc29df
0 ETH0.00809619.36556484
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:
PProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

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

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

608060405234801561001057600080fd5b5061006760405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001203361006c60201b60201c565b6100be565b61008a8261007f8361008e60201b60201c565b6100b160201b60201c565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b6000829050818155505050565b6107ee806100cd6000396000f3fe60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae69146101ef578063aaf10f4214610254578063bb15ac8e14610295578063caaee91c146102e6578063d784d426146103375761008b565b80631ab7710d1461009557806337a440e6146100d65780635ced058e1461012557806382c947b71461018a5761008b565b5b610093610388565b005b3480156100a157600080fd5b506100aa610402565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e257600080fd5b5061010f600480360360208110156100f957600080fd5b8101908080359060200190929190505050610458565b6040518082815260200191505060405180910390f35b34801561013157600080fd5b5061015e6004803603602081101561014857600080fd5b8101908080359060200190929190505050610468565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019657600080fd5b506101d9600480360360208110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610475565b6040518082815260200191505060405180910390f35b3480156101fb57600080fd5b506102286004803603602081101561021257600080fd5b8101908080359060200190929190505050610498565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026057600080fd5b506102696104b2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a157600080fd5b506102ce600480360360208110156102b857600080fd5b8101908080359060200190929190505050610508565b60405180821515815260200191505060405180910390f35b3480156102f257600080fd5b506103356004803603602081101561030957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610520565b005b34801561034357600080fd5b506103866004803603602081101561035a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610645565b005b60006103d960405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120610498565b905060405136600082376000803683855af43d806000843e81600081146103fe578184f35b8184fd5b600061045360405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b60006104ab6104a683610458565b610468565b9050919050565b600061050360405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120610498565b905090565b6000600160001b61051883610458565b149050919050565b61056f60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061078e602b913960400191505060405180910390fd5b61064260405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001208261076a565b50565b61069460405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061078e602b913960400191505060405180910390fd5b61076760405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001208261076a565b50565b61077c8261077783610475565b610780565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220fa294e7f77961acb83ba2454761ce3122e3520f8044e1894d8444aecc51beaef64736f6c634300060c0033

Deployed Bytecode

0x60806040526004361061008a5760003560e01c80639d84ae69116100595780639d84ae69146101ef578063aaf10f4214610254578063bb15ac8e14610295578063caaee91c146102e6578063d784d426146103375761008b565b80631ab7710d1461009557806337a440e6146100d65780635ced058e1461012557806382c947b71461018a5761008b565b5b610093610388565b005b3480156100a157600080fd5b506100aa610402565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e257600080fd5b5061010f600480360360208110156100f957600080fd5b8101908080359060200190929190505050610458565b6040518082815260200191505060405180910390f35b34801561013157600080fd5b5061015e6004803603602081101561014857600080fd5b8101908080359060200190929190505050610468565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019657600080fd5b506101d9600480360360208110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610475565b6040518082815260200191505060405180910390f35b3480156101fb57600080fd5b506102286004803603602081101561021257600080fd5b8101908080359060200190929190505050610498565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026057600080fd5b506102696104b2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a157600080fd5b506102ce600480360360208110156102b857600080fd5b8101908080359060200190929190505050610508565b60405180821515815260200191505060405180910390f35b3480156102f257600080fd5b506103356004803603602081101561030957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610520565b005b34801561034357600080fd5b506103866004803603602081101561035a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610645565b005b60006103d960405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120610498565b905060405136600082376000803683855af43d806000843e81600081146103fe578184f35b8184fd5b600061045360405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b905090565b6000808254905080915050919050565b60008160001c9050919050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b60006104ab6104a683610458565b610468565b9050919050565b600061050360405160200180807f494d504c454d454e544154494f4e5f534c4f5400000000000000000000000000815250601301905060405160208183030381529060405280519060200120610498565b905090565b6000600160001b61051883610458565b149050919050565b61056f60405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061078e602b913960400191505060405180910390fd5b61064260405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a019050604051602081830303815290604052805190602001208261076a565b50565b61069460405160200180807f4f574e45525f534c4f5400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405280519060200120610498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061078e602b913960400191505060405180910390fd5b61076760405160200180807f494d504c454d454e544154494f4e5f534c4f54000000000000000000000000008152506013019050604051602081830303815290604052805190602001208261076a565b50565b61077c8261077783610475565b610780565b5050565b600082905081815550505056fe5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646572206e6f74206f776e6572a2646970667358221220fa294e7f77961acb83ba2454761ce3122e3520f8044e1894d8444aecc51beaef64736f6c634300060c0033

Deployed Bytecode Sourcemap

1514:1583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:18;:16;:18::i;:::-;1514:1583;1973:103;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;676:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1246:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1384:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;415:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2208:117;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;59:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2084:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2333:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2570:522;2626:20;2649:32;1605:39;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;1682:41;;;;;;1791:11;:23::i;:::-;1777:37;;:10;:37;;;1769:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2159:33:::1;1692:30;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;1682:41;;;;;;2182:9;2159:10;:33::i;:::-;2084:116:::0;:::o;2333:147::-;1791:23;1692:30;;;;;;;;;;;;;;;;;;;;;;;;;;1682:41;;;;;;1791:11;:23::i;:::-;1777:37;;:10;:37;;;1769:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:51:::1;1605:39;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;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://fa294e7f77961acb83ba2454761ce3122e3520f8044e1894d8444aecc51beaef

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.