Discover more of Abstract Block Explorer's tools and services in one place.
Contract Source Code:
File 1 of 1 : ZKProxy.sol
pragma solidity ^0.8.22; // This is a ZKSync compatible proxy and a replacement for OZ Clones contract ZKProxy { address immutable implementation; constructor(address _implementation) { implementation = _implementation; } fallback() external payable { address impl = implementation; assembly { // The pointer to the free memory slot let ptr := mload(0x40) // Copy function signature and arguments from calldata at zero position into memory at pointer position calldatacopy(ptr, 0, calldatasize()) // Delegatecall method of the implementation contract returns 0 on error let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0) // Get the size of the last return data let size := returndatasize() // Copy the size length of bytes from return data at zero position to pointer position returndatacopy(ptr, 0, size) // Depending on the result value switch result case 0 { // End execution and revert state changes revert(ptr, size) } default { // Return data with length of size at pointers position return(ptr, size) } } } }
Please enter a contract address above to load the contract details and source code.
Please DO NOT store any passwords or private keys here. A private note (up to 100 characters) can be saved and is useful for transaction tracking.
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.