Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0x7267dC183d5259AC33Fd80322E62fc052efdad66
Balance 0 ETH
Nonce 1
Code Size 1098 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

1098 bytes
0x608060405234801561000f575f5ffd5b5060043610610065575f3560e01c8063266a164a1161004e578063266a164a146100d957806360cd9853146100ec5780638abf60771461011257610065565b8063048046c1146100b35780630715940e146100c6575b5f61008e7f0e4c00c0fe9fb028e73dd325b95165d8884bc26853613a6b5131a12effdd8ddd5490565b9050604051365f82375f5f3683855af43d5f833e8080156100ad573d83f35b3d83fd5b005b6100b16100c13660046103da565b61013f565b6100b16100d43660046103da565b61018d565b6100b16100e73660046103da565b6101d9565b6100ff6100fa3660046103da565b610226565b6040519081526020015b60405180910390f35b61011a610236565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610109565b61014833610264565b600114610181576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018a816102f6565b50565b61019633610264565b6001146101cf576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018a815f610367565b6101e233610264565b60011461021b576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018a816001610367565b5f61023082610264565b92915050565b5f61025f7f0e4c00c0fe9fb028e73dd325b95165d8884bc26853613a6b5131a12effdd8ddd5490565b905090565b5f5f7f312ed9ac9b839e579b0572e42b6b61a1d0e768aa92df633e58ace1e6a3633e79836040516020016102b892919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120549392505050565b73ffffffffffffffffffffffffffffffffffffffff8116610343576040517fc6745ca800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0e4c00c0fe9fb028e73dd325b95165d8884bc26853613a6b5131a12effdd8ddd55565b5f7f312ed9ac9b839e579b0572e42b6b61a1d0e768aa92df633e58ace1e6a3633e79836040516020016103ba92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b604051602081830303815290604052805190602001209050818155505050565b5f602082840312156103ea575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461040d575f5ffd5b939250505056fea264697066735822122066097d3f930be8a5c492d5dbcdcab6d022aaca32a5e785d3ee4941a031ea110f64736f6c634300081d0033

Verified Source Code Full Match

Compiler: v0.8.29+commit.ab55807c EVM: cancun Optimization: Yes (21000 runs)
MaseerProxy.sol 105 lines
// SPDX-License-Identifier: BUSL-1.1
// Copyright (c) 2025 Maseer LTD
//
// This file is subject to the Business Source License 1.1.
// You may not use this file except in compliance with the License.
//
// You may obtain a copy of the License at:
// https://github.com/Maseer-LTD/maseer-one/blob/master/LICENSE
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
pragma solidity ^0.8.28;

contract MaseerProxy {

    bytes32 private constant _IMPL_WARD = keccak256("maseer.wards");
    bytes32 private constant _IMPL_SLOT = keccak256("maseer.proxy.implementation");
    bytes32 private constant _WARD_SLOT = keccak256("maseer.proxy.wards");

    function wardsProxy(address usr) external view returns (uint256) {
        return _getAuth(usr);
    }
    function relyProxy(address usr) external proxyAuth { _setAuth(usr, 1); }
    function denyProxy(address usr) external proxyAuth { _setAuth(usr, 0); }

    error NotAuthorized();
    error NoImplementation();

    modifier proxyAuth() {
        if (_getAuth(msg.sender) != 1) revert NotAuthorized();
        _;
    }

    constructor(address _impl) {
        _setAuth(msg.sender, 1);
        _rely(msg.sender);
        _setImpl(_impl);
    }

    function file(address _impl) external proxyAuth {
        _setImpl(_impl);
    }

    function impl() external view returns (address) {
        return _getImpl();
    }

    fallback() external {
        address _impl = _getImpl();

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
            returndatacopy(ptr, 0, returndatasize())

            switch result
            case 0 { revert(ptr, returndatasize()) }
            default { return(ptr, returndatasize()) }
        }
    }

    function _setImpl(address _impl) internal {
        if (_impl == address(0)) revert NoImplementation();
        bytes32 _slot = _IMPL_SLOT;
        assembly {
            sstore(_slot, _impl)
        }
    }

    function _getImpl() internal view returns (address) {
        bytes32 slot = _IMPL_SLOT;
        address _impl;
        assembly {
            _impl := sload(slot)
        }
        return _impl;
    }

    function _setAuth(address usr, uint256 val) internal {
        bytes32 _slot = keccak256(abi.encode(_WARD_SLOT, usr));
        assembly {
            sstore(_slot, val)
        }
    }

    function _getAuth(address usr) internal view returns (uint256) {
        bytes32 _slot = keccak256(abi.encode(_WARD_SLOT, usr));
        uint256 _val;
        assembly {
            _val := sload(_slot)
        }
        return _val;
    }

    function _rely(address usr) internal {
        bytes32 slot = keccak256(abi.encode(_IMPL_WARD, usr));
        assembly {
            sstore(slot, 1)
        }
    }
}

Read Contract

impl 0x8abf6077 → address
wardsProxy 0x60cd9853 → uint256

Write Contract 3 functions

These functions modify contract state and require a wallet transaction to execute.

denyProxy 0x0715940e
address usr
file 0x048046c1
address _impl
relyProxy 0x266a164a
address usr

Recent Transactions

No transactions found for this address