ETH Price: $3,447.86 (+0.86%)

Contract

0x6de77A304609472A4811a0BFD47d8682Aebc29df
 
Transaction Hash
Method
Block
From
To
Withdraw212663852024-11-25 17:53:3529 days ago1732557215IN
0x6de77A30...2Aebc29df
0 ETH0.0073531418.57356149
Withdraw212377042024-11-21 17:49:4733 days ago1732211387IN
0x6de77A30...2Aebc29df
0 ETH0.0082053519.62712588
Withdraw212376882024-11-21 17:46:3533 days ago1732211195IN
0x6de77A30...2Aebc29df
0 ETH0.0082632719.16232972
Withdraw211998872024-11-16 11:13:5938 days ago1731755639IN
0x6de77A30...2Aebc29df
0 ETH0.0046907410.4596817
Claim206009382024-08-24 20:47:59122 days ago1724532479IN
0x6de77A30...2Aebc29df
0 ETH0.000086671.49215109
Withdraw206009372024-08-24 20:47:47122 days ago1724532467IN
0x6de77A30...2Aebc29df
0 ETH0.000959232.45376069
Withdraw203614442024-07-22 10:22:11155 days ago1721643731IN
0x6de77A30...2Aebc29df
0 ETH0.000580094.83401235
Withdraw200807812024-06-13 5:20:59194 days ago1718256059IN
0x6de77A30...2Aebc29df
0 ETH0.0039724611.11858303
Withdraw200805982024-06-13 4:43:59194 days ago1718253839IN
0x6de77A30...2Aebc29df
0 ETH0.0040473410.33757802
Exit200455972024-06-08 7:23:59199 days ago1717831439IN
0x6de77A30...2Aebc29df
0 ETH0.00386859.65550046
Withdraw200017192024-06-02 4:22:11205 days ago1717302131IN
0x6de77A30...2Aebc29df
0 ETH0.00215964.89115451
Withdraw195021992024-03-24 5:00:59275 days ago1711256459IN
0x6de77A30...2Aebc29df
0 ETH0.0054583516.2881051
Withdraw195021942024-03-24 4:59:59275 days ago1711256399IN
0x6de77A30...2Aebc29df
0 ETH0.0063764816.83368617
Withdraw194331462024-03-14 12:07:47285 days ago1710418067IN
0x6de77A30...2Aebc29df
0 ETH0.0188040242.58803512
Withdraw194185622024-03-12 11:00:47287 days ago1710241247IN
0x6de77A30...2Aebc29df
0 ETH0.0211992948.01294079
Withdraw192889032024-02-23 7:48:35305 days ago1708674515IN
0x6de77A30...2Aebc29df
0 ETH0.0051018139.22870561
Withdraw192884522024-02-23 6:17:59305 days ago1708669079IN
0x6de77A30...2Aebc29df
0 ETH0.0036436330.40896235
Withdraw191602302024-02-05 6:15:47323 days ago1707113747IN
0x6de77A30...2Aebc29df
0 ETH0.0042473310.15958644
Claim191523862024-02-04 3:48:59324 days ago1707018539IN
0x6de77A30...2Aebc29df
0 ETH0.0037994311.64698907
Withdraw190485402024-01-20 14:01:23339 days ago1705759283IN
0x6de77A30...2Aebc29df
0 ETH0.0070843917.66848336
Withdraw190369052024-01-18 23:03:47340 days ago1705619027IN
0x6de77A30...2Aebc29df
0 ETH0.0028611622
Claim190315682024-01-18 5:09:11341 days ago1705554551IN
0x6de77A30...2Aebc29df
0 ETH0.0064087922
Withdraw190313682024-01-18 4:28:59341 days ago1705552139IN
0x6de77A30...2Aebc29df
0 ETH0.0026510124
Claim190313682024-01-18 4:28:59341 days ago1705552139IN
0x6de77A30...2Aebc29df
0 ETH0.0084498424
Withdraw188463062023-12-23 5:02:23367 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.