Address Contract Partially Verified
Address
0x23294eF5BD5ec2fca40904f7Cd4A48e73781f207
Balance
0 ETH
Nonce
1
Code Size
127 bytes
Creator
0x7Dbf85de...2441 at tx 0x7290b0b2...111985
Proxy
EIP-1967 Proxy Implementation: 0x7AD52ece...450e
Indexed Transactions
0
Contract Bytecode
127 bytes
0x6080604052604051366000823760008036837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d806000843e8180156045578184f35b8184fdfea264697066735822122036b5b33695501d38010c0c4b54421ed69b6a79f3a7d5575de37b45130d39e15b64736f6c634300080a0033
Verified Source Code Partial Match
Compiler: v0.8.10+commit.fc410830
EVM: london
Optimization: Yes (2000 runs)
MirrorProxy.sol 69 lines
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;
/**
* @title MirrorProxy
* @author MirrorXYZ
* The MirrorProxy contract is used to deploy minimal proxies.
*/
contract MirrorProxy {
/**
* @dev Storage slot with the address of the current implementation.
* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
* validated in the constructor.
*/
bytes32 internal constant _IMPLEMENTATION_SLOT =
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/**
* @notice Initializes a proxy by delegating logic to the implementation,
* and reverts if the call is not successful. Stores implementation logic.
* @param implementation - the implementation holds the logic for all proxies
* @param initializationData - initialization call
*/
constructor(address implementation, bytes memory initializationData) {
// Delegatecall into the implementation, supplying initialization calldata.
(bool ok, ) = implementation.delegatecall(initializationData);
// Revert and include revert data if delegatecall to implementation reverts.
if (!ok) {
assembly {
returndatacopy(0, 0, returndatasize())
revert(0, returndatasize())
}
}
assembly {
sstore(_IMPLEMENTATION_SLOT, implementation)
}
}
/**
* @notice When any function is called on this contract, we delegate to
* the logic contract stored in the implementation storage slot.
*/
fallback() external payable {
assembly {
let ptr := mload(0x40)
calldatacopy(ptr, 0, calldatasize())
let result := delegatecall(
gas(),
sload(_IMPLEMENTATION_SLOT),
ptr,
calldatasize(),
0,
0
)
let size := returndatasize()
returndatacopy(ptr, 0, size)
switch result
case 0 {
revert(ptr, size)
}
default {
return(ptr, size)
}
}
}
}
Recent Transactions
No transactions found for this address