ETH Price: $2,162.90 (+0.10%)

Contract

0x1b8a151e64bC07dE0AcF967a0cB17Ee16c3c8E2D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy Proxy229296592025-07-16 5:28:47252 days ago1752643727IN
0x1b8a151e...16c3c8E2D
0 ETH0.000239332.26907732
Deploy Proxy204699242024-08-06 13:47:35596 days ago1722952055IN
0x1b8a151e...16c3c8E2D
0 ETH0.000703436.66992878
Deploy Proxy204699192024-08-06 13:46:35596 days ago1722951995IN
0x1b8a151e...16c3c8E2D
0 ETH0.005055656.80112723
Deploy Proxy204699092024-08-06 13:44:23596 days ago1722951863IN
0x1b8a151e...16c3c8E2D
0 ETH0.003545486.37134415
Deploy Proxy204699012024-08-06 13:42:35596 days ago1722951755IN
0x1b8a151e...16c3c8E2D
0 ETH0.004584716.20788377
Deploy Proxy195191732024-03-26 14:21:11729 days ago1711462871IN
0x1b8a151e...16c3c8E2D
0 ETH0.040102447.47251472
Deploy Proxy190849572024-01-25 16:55:11790 days ago1706201711IN
0x1b8a151e...16c3c8E2D
0 ETH0.0212593431.14556786
Deploy Proxy190784152024-01-24 18:54:47791 days ago1706122487IN
0x1b8a151e...16c3c8E2D
0 ETH0.0132118119.35570037
Deploy Proxy187438052023-12-08 20:05:47838 days ago1702065947IN
0x1b8a151e...16c3c8E2D
0 ETH0.0308637545.21711425
Deploy Proxy187428302023-12-08 16:47:59838 days ago1702054079IN
0x1b8a151e...16c3c8E2D
0 ETH0.0352683651.67101873
Deploy Proxy187425002023-12-08 15:41:47838 days ago1702050107IN
0x1b8a151e...16c3c8E2D
0 ETH0.0407067755.12394093
Deploy Proxy185450022023-11-11 0:04:35866 days ago1699661075IN
0x1b8a151e...16c3c8E2D
0 ETH0.0275754739.53087792
Deploy Proxy185308202023-11-09 0:29:11868 days ago1699489751IN
0x1b8a151e...16c3c8E2D
0 ETH0.0445494952.36342571
Deploy Proxy185302612023-11-08 22:36:23868 days ago1699482983IN
0x1b8a151e...16c3c8E2D
0 ETH0.040607952.53394976
Deploy Proxy185299022023-11-08 21:24:11868 days ago1699478651IN
0x1b8a151e...16c3c8E2D
0 ETH0.0356369146.57970303
Deploy Proxy185151542023-11-06 19:55:11870 days ago1699300511IN
0x1b8a151e...16c3c8E2D
0 ETH0.039354.60754124

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x3d602d80247305322026-03-24 22:58:1125 hrs ago1774393091
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80246314422026-03-11 3:07:5914 days ago1773198479
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80246314282026-03-11 3:05:1114 days ago1773198311
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80244361142026-02-11 21:07:3542 days ago1770844055
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80244360042026-02-11 20:45:3542 days ago1770842735
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80244358872026-02-11 20:21:5942 days ago1770841319
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80244358352026-02-11 20:11:3542 days ago1770840695
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80244358052026-02-11 20:05:3542 days ago1770840335
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80243613322026-02-01 10:11:2352 days ago1769940683
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80239952022025-12-12 7:55:47103 days ago1765526147
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80229296592025-07-16 5:28:47252 days ago1752643727
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80223418732025-04-24 22:32:59335 days ago1745533979
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80220838402025-03-19 22:16:35371 days ago1742422595
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80220306312025-03-12 11:56:59378 days ago1741780619
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80218656872025-02-17 11:05:11401 days ago1739790311
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80218386762025-02-13 16:13:47405 days ago1739463227
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80217724802025-02-04 10:16:35414 days ago1738664195
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80216989072025-01-25 3:41:47424 days ago1737776507
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80216807842025-01-22 14:59:47427 days ago1737557987
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80214706442024-12-24 6:48:35456 days ago1735022915
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80212622992024-11-25 4:11:35485 days ago1732507895
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80210051352024-10-20 6:55:47521 days ago1729407347
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80209003372024-10-05 15:49:35536 days ago1728143375
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80209002962024-10-05 15:41:23536 days ago1728142883
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
0x3d602d80204699242024-08-06 13:47:35596 days ago1722952055
0x1b8a151e...16c3c8E2D
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ContractCloneFactory

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;

import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
import {ExecutionUtils} from "../../../utils/ExecutionUtils.sol";
import {BaseProxyDeployer} from "./BaseProxyDeployer.sol";

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 * A minimal proxy needs to do:
 * 1. calldatacopy into memory
 * 2. delegatecall into an implementation contract
 * 3. returndatacopy into memory
 * 4, return data to the caller or revert
 * The exact runtime code of the standard clone contract is this:
 * 363d3d373d3d3d363d73bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf3
 * wherein the bytes at indices 10 - 29 (inclusive) are replaced with the 20 byte address of the master functionality/implementation contract.
 * The creation code, which includes the runtime code, is this:
 * 3d602d80600a3d3981f3363d3d373d3d3d363d73bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf3
 * 3d602d80600a3d3981f3 copies the runtime into memory.
 * A reference implementation of this can be found at the optionality/clone-factory github repo.
 */
contract ContractCloneFactory is BaseProxyDeployer {

    /**
     * @dev Salted deterministic deployment of minimal proxy contracts that mimics the behavior of implementation.
     *      Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function _deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
    internal override returns (address deployedContract) {
        deployedContract = Clones.cloneDeterministic(_implementation, _salt);
        if (_initializingData.length > 0) {
            ExecutionUtils.callAndRevert(deployedContract, 0, _initializingData);
        }
    }

    /**
     * @dev Pre-compute the counterfactual address prior to deployment of minimal proxy contracts that mimics the behavior of implementation.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function _getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
    internal override view returns (address calculatedContract) {
        (_initializingData);
        calculatedContract = Clones.predictDeterministicAddress(_implementation, _salt, address(this));
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (proxy/Clones.sol)

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) {
        /// @solidity memory-safe-assembly
        assembly {
            // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
            // of the `implementation` address with the bytecode before the address.
            mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))
            // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
            mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))
            instance := create(0, 0x09, 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) {
        /// @solidity memory-safe-assembly
        assembly {
            // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
            // of the `implementation` address with the bytecode before the address.
            mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))
            // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
            mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))
            instance := create2(0, 0x09, 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) {
        /// @solidity memory-safe-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(add(ptr, 0x38), deployer)
            mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff)
            mstore(add(ptr, 0x14), implementation)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73)
            mstore(add(ptr, 0x58), salt)
            mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37))
            predicted := keccak256(add(ptr, 0x43), 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));
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;

import {Context} from "@openzeppelin/contracts/utils/Context.sol";
import {IProxyDeployer} from "../interfaces/IProxyDeployer.sol";

abstract contract BaseProxyDeployer is IProxyDeployer, Context {

    /**
     * @dev Salted deterministic deployment of proxy contracts.
     *      Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
    public override returns (address deployedContract) {
        if (_implementation.code.length == 0) {
            revert InvalidImplementation(_implementation);
        }
        (address addr, bytes32 mixedSalt) = getProxyAddress(_implementation, _initializingData, _salt);
        if (addr.code.length > 0) {
            return addr;
        }
        deployedContract = _deployProxy(_implementation, _initializingData, mixedSalt);
        emit ProxyDeployed(_implementation, deployedContract, mixedSalt);
    }

    /**
     * @dev Pre-compute the counterfactual address prior to deployment of proxy contracts.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
    public override view returns (address calculatedContract, bytes32 mixedSalt) {
        mixedSalt = getMixedSalt(_initializingData, _salt);
        calculatedContract = _getProxyAddress(_implementation, _initializingData, mixedSalt);
    }

    /**
     * @dev Helper method to get mixed salt that alleviates the front-running.
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to create the new contract at a deterministic address, e.g. 0x0
     */
    function getMixedSalt(bytes memory _initializingData, bytes32 _salt) public view returns (bytes32) {
        return keccak256(abi.encodePacked(keccak256(_initializingData), _salt, _msgSender()));
    }

    function _deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
    internal virtual returns (address deployedContract);

    function _getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
    internal virtual view returns (address calculatedContract);
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;

interface IProxyDeployer {

    event ProxyDeployed(address indexed implementation, address proxy, bytes32 salt);

    error InvalidImplementation(address implementation);

    /**
     * @dev Salted deterministic deployment of proxy contracts.
     *      Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
    external returns (address deployedContract);

    /**
     * @dev Pre-compute the counterfactual address prior to deployment of proxy contracts.
     * @param _implementation contract to be cloned
     * @param _initializingData calldata of the deployed contract's initializer function
     * @param _salt extra salt that's used to deterministically deploy the clone
     */
    function getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
    external view returns (address calculatedContract, bytes32 mixedSalt);
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;

// solhint-disable no-inline-assembly

/**
 * Utility functions helpful when making different kinds of contract calls in Solidity.
 * For inline assembly, please refer to https://docs.soliditylang.org/en/latest/assembly.html
 * For opcodes, please refer to https://ethereum.org/en/developers/docs/evm/opcodes/ and https://www.evm.codes/
 */
library ExecutionUtils {

    function call(address to,
        uint256 value,
        bytes memory data
    ) internal returns (bool success, bytes memory returnData) {
        assembly {
            success := call(gas(), to, value, add(data, 0x20), mload(data), 0, 0)
            let len := returndatasize()
            let ptr := mload(0x40)
            mstore(0x40, add(ptr, add(len, 0x20)))
            mstore(ptr, len)
            returndatacopy(add(ptr, 0x20), 0, len)
            returnData := ptr
        }
    }

    function revertWithData(bytes memory returnData) internal pure {
        assembly {
            revert(add(returnData, 32), mload(returnData))
        }
    }

    function callAndRevert(address to,
        uint256 value,
        bytes memory data) internal {
        (bool success, bytes memory returnData) = call(to, value, data);
        if (!success) {
            revertWithData(returnData);
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "remappings": [
    "@account-abstraction/=lib/account-abstraction/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/",
    "account-abstraction/=lib/account-abstraction/contracts/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/"
  ],
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"InvalidImplementation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"},{"indexed":false,"internalType":"address","name":"proxy","type":"address"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"ProxyDeployed","type":"event"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"deployProxy","outputs":[{"internalType":"address","name":"deployedContract","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"getMixedSalt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"getProxyAddress","outputs":[{"internalType":"address","name":"calculatedContract","type":"address"},{"internalType":"bytes32","name":"mixedSalt","type":"bytes32"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506105e1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806360a1f85e14610046578063c28f4b6e14610083578063dd03f4ad146100c2575b600080fd5b6100596100543660046104f4565b6100e3565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100966100913660046104f4565b6101f7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161007a565b6100d56100d0366004610566565b610268565b60405190815260200161007a565b60008373ffffffffffffffffffffffffffffffffffffffff163b600003610153576040517f0c76093700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b6000806101618686866101f7565b909250905073ffffffffffffffffffffffffffffffffffffffff82163b1561018b575090506101f0565b6101968686836102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff808416825260208201859052929550918816917fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a05910160405180910390a250505b9392505050565b6000806102048484610268565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff60248201526014810196909652733d602d80600a3d3981f3363d3d373d3d3d363d738652605886018190526037600c87012060788701526055604390960195909520959350505050565b8151602080840191909120604080518084019290925281810184905233606090811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690830152805160548184030181526074909201905280519101205b92915050565b60006102d984836102ef565b8351909150156101f0576101f0816000856103b3565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161014a565b6000806103c18585856103da565b91509150816103d3576103d381610412565b5050505050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b805160208201fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104bb576104bb61041a565b816040528381528660208588010111156104d457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561050957600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461052d57600080fd5b9250602084013567ffffffffffffffff81111561054957600080fd5b61055586828701610449565b925050604084013590509250925092565b6000806040838503121561057957600080fd5b823567ffffffffffffffff81111561059057600080fd5b61059c85828601610449565b9560209490940135945050505056fea2646970667358221220d0b70f790b384037e18484f59398afb8eca23645164c50a845c693dca2e4acb464736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c806360a1f85e14610046578063c28f4b6e14610083578063dd03f4ad146100c2575b600080fd5b6100596100543660046104f4565b6100e3565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100966100913660046104f4565b6101f7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161007a565b6100d56100d0366004610566565b610268565b60405190815260200161007a565b60008373ffffffffffffffffffffffffffffffffffffffff163b600003610153576040517f0c76093700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b6000806101618686866101f7565b909250905073ffffffffffffffffffffffffffffffffffffffff82163b1561018b575090506101f0565b6101968686836102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff808416825260208201859052929550918816917fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a05910160405180910390a250505b9392505050565b6000806102048484610268565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff60248201526014810196909652733d602d80600a3d3981f3363d3d373d3d3d363d738652605886018190526037600c87012060788701526055604390960195909520959350505050565b8151602080840191909120604080518084019290925281810184905233606090811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690830152805160548184030181526074909201905280519101205b92915050565b60006102d984836102ef565b8351909150156101f0576101f0816000856103b3565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161014a565b6000806103c18585856103da565b91509150816103d3576103d381610412565b5050505050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b805160208201fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104bb576104bb61041a565b816040528381528660208588010111156104d457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561050957600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461052d57600080fd5b9250602084013567ffffffffffffffff81111561054957600080fd5b61055586828701610449565b925050604084013590509250925092565b6000806040838503121561057957600080fd5b823567ffffffffffffffff81111561059057600080fd5b61059c85828601610449565b9560209490940135945050505056fea2646970667358221220d0b70f790b384037e18484f59398afb8eca23645164c50a845c693dca2e4acb464736f6c63430008110033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.