ETH Price: $2,201.51 (-5.32%)
Gas: 0.14 Gwei

Contract

0xb3d3e098564e5bEDCDA5c15E0f0E005560bE82c8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Change Admin158936852022-11-04 2:31:471230 days ago1667529107IN
0xb3d3e098...560bE82c8
0 ETH0.0004094413.94200395
Set Owner158936822022-11-04 2:31:111230 days ago1667529071IN
0xb3d3e098...560bE82c8
0 ETH0.0004598314.30194706
File Module152547182022-08-01 5:25:181325 days ago1659331518IN
0xb3d3e098...560bE82c8
0 ETH0.000169794.90433397
Add Token152545712022-08-01 4:54:211325 days ago1659329661IN
0xb3d3e098...560bE82c8
0 ETH0.000579625.05043489
Add Token152545672022-08-01 4:53:591325 days ago1659329639IN
0xb3d3e098...560bE82c8
0 ETH0.000703026.12527946
Add Token152545632022-08-01 4:53:191325 days ago1659329599IN
0xb3d3e098...560bE82c8
0 ETH0.000774446.599437
Add Token152545492022-08-01 4:50:571325 days ago1659329457IN
0xb3d3e098...560bE82c8
0 ETH0.001019178.88590331
Add Token152545462022-08-01 4:49:181325 days ago1659329358IN
0xb3d3e098...560bE82c8
0 ETH0.000892047.60147727
Add Token152544732022-08-01 4:31:581325 days ago1659328318IN
0xb3d3e098...560bE82c8
0 ETH0.000579174.72907913
Initialize152544652022-08-01 4:30:181325 days ago1659328218IN
0xb3d3e098...560bE82c8
0 ETH0.001407514.71500848

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FilePorxy

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: file_proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./proxy.sol";

contract FilePorxy is basePorxy{
       constructor(address impl) {
        _setAdmin(msg.sender);
        _setLogic(impl);
    }
}

File 2 of 2: proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {
        assembly {
            r.slot := slot
        }
    }

    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        assembly {
            r.slot := slot
        }
    }


    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        assembly {
            r.slot := slot
        }
    }


    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        assembly {
            r.slot := slot
        }
    }
}

contract Proxy {
    //EIP1967 Impl_solt: keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    //EIP1967 Admin_solt: keccak-256 hash of "eip1967.proxy.admin" subtracted by 1
    bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
  
    function _setAdmin(address admin_) internal {
        StorageSlot.getAddressSlot(_ADMIN_SLOT).value = admin_;
    }
    
    function _setLogic(address logic_) internal {
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = logic_;
    }
    
    function logic() public view returns (address) {
        return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    }
    
    function admin() public view returns (address) {
       return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;
    }
    
    
    fallback () external payable {
        assembly {
            let impl := sload(_IMPLEMENTATION_SLOT)
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), impl, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }
    
    receive () external payable virtual {}
}


contract basePorxy is Proxy {
    event Upgraded(address indexed impl);
    event AdminChanged(address preAdmin, address newAdmin);
    
    modifier onlyAmdin(){
        require(msg.sender == admin(), "LucaPorxy: Caller not admin");
        _;
    }
    
    function changeAdmin(address newAdmin) external onlyAmdin returns(bool) {
        _setAdmin(newAdmin);
        emit AdminChanged(admin(), newAdmin);
        return true;
    } 
    
    function upgrad(address newLogic) external onlyAmdin returns(bool) {
        _setLogic(newLogic);
        emit Upgraded(newLogic);
        return true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"impl","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLogic","type":"address"}],"name":"upgrad","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610852380380610852833981810160405281019061003291906101b9565b6100413361005660201b60201c565b610050816100d160201b60201c565b506101e6565b8061008d7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b61014c60201b6103a51760201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b806101087f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61014c60201b6103a51760201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101868261015b565b9050919050565b6101968161017b565b81146101a157600080fd5b50565b6000815190506101b38161018d565b92915050565b6000602082840312156101cf576101ce610156565b5b60006101dd848285016101a4565b91505092915050565b61065d806101f56000396000f3fe6080604052600436106100435760003560e01c806331079f6e146100925780638f283970146100cf578063d7dfa0dd1461010c578063f851a440146101375761004a565b3661004a57005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000845af43d6000803e806000811461008d573d6000f35b3d6000fd5b34801561009e57600080fd5b506100b960048036038101906100b491906104f4565b610162565b6040516100c6919061053c565b60405180910390f35b3480156100db57600080fd5b506100f660048036038101906100f191906104f4565b61022e565b604051610103919061053c565b60405180910390f35b34801561011857600080fd5b506101216102f7565b60405161012e9190610566565b60405180910390f35b34801561014357600080fd5b5061014c61034e565b6040516101599190610566565b60405180910390f35b600061016c61034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d0906105de565b60405180910390fd5b6101e2826103af565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a260019050919050565b600061023861034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029c906105de565b60405180910390fd5b6102ae82610420565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102d761034e565b836040516102e69291906105fe565b60405180910390a160019050919050565b60006103257f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6103a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061037c7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6103a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b806103dc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6103a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8061044d7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6103a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104c182610496565b9050919050565b6104d1816104b6565b81146104dc57600080fd5b50565b6000813590506104ee816104c8565b92915050565b60006020828403121561050a57610509610491565b5b6000610518848285016104df565b91505092915050565b60008115159050919050565b61053681610521565b82525050565b6000602082019050610551600083018461052d565b92915050565b610560816104b6565b82525050565b600060208201905061057b6000830184610557565b92915050565b600082825260208201905092915050565b7f4c756361506f7278793a2043616c6c6572206e6f742061646d696e0000000000600082015250565b60006105c8601b83610581565b91506105d382610592565b602082019050919050565b600060208201905081810360008301526105f7816105bb565b9050919050565b60006040820190506106136000830185610557565b6106206020830184610557565b939250505056fea2646970667358221220ee0ab2992f80d60adf13556c316faa91884b1fb2b4d90f6314e6c2275dcef85c64736f6c634300080f0033000000000000000000000000bf28ee4475237c44fd9e9cc79df5527ebc9d9fdf

Deployed Bytecode

0x6080604052600436106100435760003560e01c806331079f6e146100925780638f283970146100cf578063d7dfa0dd1461010c578063f851a440146101375761004a565b3661004a57005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000845af43d6000803e806000811461008d573d6000f35b3d6000fd5b34801561009e57600080fd5b506100b960048036038101906100b491906104f4565b610162565b6040516100c6919061053c565b60405180910390f35b3480156100db57600080fd5b506100f660048036038101906100f191906104f4565b61022e565b604051610103919061053c565b60405180910390f35b34801561011857600080fd5b506101216102f7565b60405161012e9190610566565b60405180910390f35b34801561014357600080fd5b5061014c61034e565b6040516101599190610566565b60405180910390f35b600061016c61034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d0906105de565b60405180910390fd5b6101e2826103af565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a260019050919050565b600061023861034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029c906105de565b60405180910390fd5b6102ae82610420565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102d761034e565b836040516102e69291906105fe565b60405180910390a160019050919050565b60006103257f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6103a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061037c7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6103a5565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b806103dc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6103a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8061044d7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6103a5565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104c182610496565b9050919050565b6104d1816104b6565b81146104dc57600080fd5b50565b6000813590506104ee816104c8565b92915050565b60006020828403121561050a57610509610491565b5b6000610518848285016104df565b91505092915050565b60008115159050919050565b61053681610521565b82525050565b6000602082019050610551600083018461052d565b92915050565b610560816104b6565b82525050565b600060208201905061057b6000830184610557565b92915050565b600082825260208201905092915050565b7f4c756361506f7278793a2043616c6c6572206e6f742061646d696e0000000000600082015250565b60006105c8601b83610581565b91506105d382610592565b602082019050919050565b600060208201905081810360008301526105f7816105bb565b9050919050565b60006040820190506106136000830185610557565b6106206020830184610557565b939250505056fea2646970667358221220ee0ab2992f80d60adf13556c316faa91884b1fb2b4d90f6314e6c2275dcef85c64736f6c634300080f0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000bf28ee4475237c44fd9e9cc79df5527ebc9d9fdf

-----Decoded View---------------
Arg [0] : impl (address): 0xBF28eE4475237c44FD9e9cc79Df5527ebc9d9FDF

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bf28ee4475237c44fd9e9cc79df5527ebc9d9fdf


Deployed Bytecode Sourcemap

85:136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2019:20:1;2013:27;2073:14;2070:1;2067;2054:34;2164:1;2161;2145:14;2142:1;2136:4;2129:5;2116:50;2201:16;2198:1;2195;2180:38;2239:6;2264:1;2259:38;;;;2331:16;2328:1;2321:27;2259:38;2278:16;2275:1;2268:27;2888:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2696:179;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1663:127;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1802:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2888:161;2949:4;2625:7;:5;:7::i;:::-;2611:21;;:10;:21;;;2603:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2966:19:::1;2976:8;2966:9;:19::i;:::-;3010:8;3001:18;;;;;;;;;;;;3037:4;3030:11;;2888:161:::0;;;:::o;2696:179::-;2762:4;2625:7;:5;:7::i;:::-;2611:21;;:10;:21;;;2603:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2779:19:::1;2789:8;2779:9;:19::i;:::-;2814:31;2827:7;:5;:7::i;:::-;2836:8;2814:31;;;;;;;:::i;:::-;;;;;;;;2863:4;2856:11;;2696:179:::0;;;:::o;1663:127::-;1701:7;1728:48;1122:66;1755:20;;1728:26;:48::i;:::-;:54;;;;;;;;;;;;1721:61;;1663:127;:::o;1802:117::-;1840:7;1866:39;1319:66;1893:11;;1866:26;:39::i;:::-;:45;;;;;;;;;;;;1859:52;;1802:117;:::o;320:151::-;381:21;449:4;439:14;;320:151;;;:::o;1525:126::-;1637:6;1580:48;1122:66;1607:20;;1580:26;:48::i;:::-;:54;;;:63;;;;;;;;;;;;;;;;;;1525:126;:::o;1396:117::-;1499:6;1451:39;1319:66;1478:11;;1451:26;:39::i;:::-;:45;;;:54;;;;;;;;;;;;;;;;;;1396:117;:::o;88::2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:118::-;1690:24;1708:5;1690:24;:::i;:::-;1685:3;1678:37;1603:118;;:::o;1727:222::-;1820:4;1858:2;1847:9;1843:18;1835:26;;1871:71;1939:1;1928:9;1924:17;1915:6;1871:71;:::i;:::-;1727:222;;;;:::o;1955:169::-;2039:11;2073:6;2068:3;2061:19;2113:4;2108:3;2104:14;2089:29;;1955:169;;;;:::o;2130:177::-;2270:29;2266:1;2258:6;2254:14;2247:53;2130:177;:::o;2313:366::-;2455:3;2476:67;2540:2;2535:3;2476:67;:::i;:::-;2469:74;;2552:93;2641:3;2552:93;:::i;:::-;2670:2;2665:3;2661:12;2654:19;;2313:366;;;:::o;2685:419::-;2851:4;2889:2;2878:9;2874:18;2866:26;;2938:9;2932:4;2928:20;2924:1;2913:9;2909:17;2902:47;2966:131;3092:4;2966:131;:::i;:::-;2958:139;;2685:419;;;:::o;3110:332::-;3231:4;3269:2;3258:9;3254:18;3246:26;;3282:71;3350:1;3339:9;3335:17;3326:6;3282:71;:::i;:::-;3363:72;3431:2;3420:9;3416:18;3407:6;3363:72;:::i;:::-;3110:332;;;;;:::o

Swarm Source

ipfs://ee0ab2992f80d60adf13556c316faa91884b1fb2b4d90f6314e6c2275dcef85c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.