Discover more of Etherscan's tools and services in one place.
Sponsored
Contract Source Code:
File 1 of 1 : factory
// SPDX-License-Identifier: GPL-3.0 pragma solidity =0.8.21; contract factory { address _owner; address private _codeAddress; constructor() { _owner = msg.sender; } function changeOwner(address owner) external { require(msg.sender == _owner); _owner = owner; } function deploy(uint salt, bytes memory runtimeCode) external returns(address rtnAddress) { require(msg.sender == _owner); address addr; assembly { addr := create(0, add(runtimeCode, 0x20), mload(runtimeCode)) } _codeAddress = addr; bytes memory bytecode = hex"5860208158601c335a6338cc48318752fa158151803b80938091923cf3"; assembly { rtnAddress := create2(0, add(bytecode, 0x20), mload(bytecode), salt) } } function deploy(uint salt, address codeAddress) external returns(address rtnAddress) { require(msg.sender == _owner); _codeAddress = codeAddress; bytes memory bytecode = hex"5860208158601c335a6338cc48318752fa158151803b80938091923cf3"; assembly { rtnAddress := create2(0, add(bytecode, 0x20), mload(bytecode), salt) } } function getAddress() external view returns(address) { return _codeAddress; } }
Please enter a contract address above to load the contract details and source code.
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.