Address Contract Verified
Address
0x7267dC183d5259AC33Fd80322E62fc052efdad66
Balance
0 ETH
Nonce
1
Code Size
1098 bytes
Creator
0xccADea5c...d0C5 at tx 0x7b9e565b...5ad787
Indexed Transactions
0
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