OP Sepolia Testnet

Contract

0x6fd8E11D9cED86ee91Df25a50d5954D0ce3C7B6b

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Clone Determinis...225232292025-01-14 10:03:1864 days ago1736848998IN
0x6fd8E11D...0ce3C7B6b
0 ETH0.0000548411310.00010026
Clone Determinis...225220212025-01-14 9:23:0264 days ago1736846582IN
0x6fd8E11D...0ce3C7B6b
0 ETH0.0000227882320.00010026

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
225232292025-01-14 10:03:1864 days ago1736848998
0x6fd8E11D...0ce3C7B6b
 Contract Creation0 ETH
225220212025-01-14 9:23:0264 days ago1736846582
0x6fd8E11D...0ce3C7B6b
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FactoryClones

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion, MIT license
/**
 *Submitted for verification at sepolia-optimism.etherscan.io on 2025-01-14
*/

// File: @openzeppelin/contracts/proxy/Clones.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 *
 * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
 * > a minimal bytecode implementation that delegates all calls to a known, fixed address.
 *
 * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
 * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
 * deterministic method.
 *
 * _Available since v3.4._
 */
library Clones {
    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address implementation) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create2 opcode and a `salt` to deterministically deploy
     * the clone. Using the same `implementation` and `salt` multiple time will revert, since
     * the clones cannot be deployed twice at the same address.
     */
    function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create2(0, ptr, 0x37, salt)
        }
        require(instance != address(0), "ERC1167: create2 failed");
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(
        address implementation,
        bytes32 salt,
        address deployer
    ) internal pure returns (address predicted) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)
            mstore(add(ptr, 0x38), shl(0x60, deployer))
            mstore(add(ptr, 0x4c), salt)
            mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
            predicted := keccak256(add(ptr, 0x37), 0x55)
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address implementation, bytes32 salt)
        internal
        view
        returns (address predicted)
    {
        return predictDeterministicAddress(implementation, salt, address(this));
    }
}

// File: contracts/FactoryClones.sol

pragma solidity 0.8.4;

contract FactoryClones {
    using Clones for address;

    function cloneDeterministic(address implementation, bytes32 salt) external returns (address) {
        return implementation.cloneDeterministic(salt);
    }

    function predictDeterministicAddress(
        address implementation,
        bytes32 salt,
        address deployer
    ) external pure returns (address){
        return implementation.predictDeterministicAddress(salt, deployer);
    }

    function predictDeterministicAddress(
        address implementation,
        bytes32 salt
    ) external view returns (address){
        return implementation.predictDeterministicAddress(salt);
    }
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"cloneDeterministic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"predictDeterministicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"address","name":"deployer","type":"address"}],"name":"predictDeterministicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b506102fb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063360d0fad1461004657806393a7e71114610075578063b86b2ceb14610088575b600080fd5b610059610054366004610261565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461028a565b61011a565b610059610096366004610261565b610191565b60006101116001600160a01b038416836000610111838330604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b90505b92915050565b60006101896001600160a01b0385168484604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b949350505050565b60006101116001600160a01b038416836000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b0381166101145760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640160405180910390fd5b80356001600160a01b038116811461025c57600080fd5b919050565b60008060408385031215610273578182fd5b61027c83610245565b946020939093013593505050565b60008060006060848603121561029e578081fd5b6102a784610245565b9250602084013591506102bc60408501610245565b9050925092509256fea2646970667358221220181ad8b3ede910e1372d63ce0c23d431466a308d907d164bc34288c7477dec2b64736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063360d0fad1461004657806393a7e71114610075578063b86b2ceb14610088575b600080fd5b610059610054366004610261565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461028a565b61011a565b610059610096366004610261565b610191565b60006101116001600160a01b038416836000610111838330604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b90505b92915050565b60006101896001600160a01b0385168484604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b949350505050565b60006101116001600160a01b038416836000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b0381166101145760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640160405180910390fd5b80356001600160a01b038116811461025c57600080fd5b919050565b60008060408385031215610273578182fd5b61027c83610245565b946020939093013593505050565b60008060006060848603121561029e578081fd5b6102a784610245565b9250602084013591506102bc60408501610245565b9050925092509256fea2646970667358221220181ad8b3ede910e1372d63ce0c23d431466a308d907d164bc34288c7477dec2b64736f6c63430008040033

Deployed Bytecode Sourcemap

3710:687:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4189:205;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;968:32:1;;;950:51;;938:2;923:18;4189:205:0;;;;;;;3939:242;;;;;;:::i;:::-;;:::i;3773:158::-;;;;;;:::i;:::-;;:::i;4189:205::-;4312:7;4338:48;-1:-1:-1;;;;;4338:42:0;;4381:4;3523:17;3565:64;3593:14;3609:4;3623;2785;2779:11;-1:-1:-1;;;2804:79:0;;2924:4;2920:25;;;2913:4;2904:14;;2897:49;-1:-1:-1;;;2976:4:0;2967:14;;2960:90;3087:19;;3080:4;3071:14;;3064:43;3137:4;3128:14;;3121:28;3201:4;3186:20;;;3179:4;3170:14;;3163:44;3260:4;3244:14;;3234:31;;2753:523;4338:48;4331:55;;4189:205;;;;;:::o;3939:242::-;4089:7;4115:58;-1:-1:-1;;;;;4115:42:0;;4158:4;4164:8;2785:4;2779:11;-1:-1:-1;;;2804:79:0;;2924:4;2920:25;;;2913:4;2904:14;;2897:49;-1:-1:-1;;;2976:4:0;2967:14;;2960:90;3087:19;;3080:4;3071:14;;3064:43;3137:4;3128:14;;3121:28;3201:4;3186:20;;;3179:4;3170:14;;3163:44;3260:4;3244:14;;3234:31;;2753:523;4115:58;4108:65;3939:242;-1:-1:-1;;;;3939:242:0:o;3773:158::-;3857:7;3884:39;-1:-1:-1;;;;;3884:33:0;;3918:4;1974:16;2044:4;2038:11;-1:-1:-1;;;2070:3:0;2063:79;2189:14;2183:4;2179:25;2172:4;2167:3;2163:14;2156:49;-1:-1:-1;;;2235:4:0;2230:3;2226:14;2219:90;2357:4;2351;2346:3;2343:1;2335:27;2323:39;-1:-1:-1;;;;;;;2391:22:0;;2383:58;;;;-1:-1:-1;;;2383:58:0;;1214:2:1;2383:58:0;;;1196:21:1;1253:2;1233:18;;;1226:30;1292:25;1272:18;;;1265:53;1335:18;;2383:58:0;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:264::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:2;;;342:6;334;327:22;289:2;370:29;389:9;370:29;:::i;:::-;360:39;446:2;431:18;;;;418:32;;-1:-1:-1;;;279:177:1:o;461:338::-;538:6;546;554;607:2;595:9;586:7;582:23;578:32;575:2;;;628:6;620;613:22;575:2;656:29;675:9;656:29;:::i;:::-;646:39;;732:2;721:9;717:18;704:32;694:42;;755:38;789:2;778:9;774:18;755:38;:::i;:::-;745:48;;565:234;;;;;:::o

Swarm Source

ipfs://181ad8b3ede910e1372d63ce0c23d431466a308d907d164bc34288c7477dec2b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.