Discover more of Etherscan's tools and services in one place.
Sponsored
Contract Source Code:
File 1 of 1 : IdentityProxy
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.6.9; interface IImplementationAuthority { function getImplementation() external view returns(address); } contract IdentityProxy { address public implementationAuthority; constructor(address _implementationAuthority, address initialManagementKey) public { implementationAuthority = _implementationAuthority; address logic = IImplementationAuthority(implementationAuthority).getImplementation(); // solhint-disable-next-line avoid-low-level-calls (bool success,) = logic.delegatecall(abi.encodeWithSignature("initialize(address)", initialManagementKey)); require(success, "Initialization failed."); } fallback() external payable { address logic = IImplementationAuthority(implementationAuthority).getImplementation(); assembly { // solium-disable-line calldatacopy(0x0, 0x0, calldatasize()) let success := delegatecall(sub(gas(), 10000), logic, 0x0, calldatasize(), 0, 0) let retSz := returndatasize() returndatacopy(0, 0, retSz) switch success case 0 { revert(0, retSz) } default { return(0, retSz) } } } }
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.
My Name Tag:
Private Note:
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.