Overview
ETH Balance
ETH Value
$0.00Latest 22 from a total of 22 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deploy | 35107226 | 41 days ago | IN | 0 ETH | 0.00000004 | ||||
| Deploy | 35107206 | 41 days ago | IN | 0 ETH | 0.00000004 | ||||
| Deploy | 34740489 | 45 days ago | IN | 0 ETH | 0.00001537 | ||||
| Deploy | 34740470 | 45 days ago | IN | 0 ETH | 0.00000017 | ||||
| Deploy | 28147615 | 122 days ago | IN | 0 ETH | 0.00000011 | ||||
| Deploy | 27571862 | 128 days ago | IN | 0 ETH | 0.00000012 | ||||
| Deploy | 27571851 | 128 days ago | IN | 0 ETH | 0.00000006 | ||||
| Deploy | 27552319 | 129 days ago | IN | 0 ETH | 0.00000004 | ||||
| Deploy | 27210155 | 133 days ago | IN | 0 ETH | 0.00000044 | ||||
| Deploy | 18825797 | 230 days ago | IN | 0 ETH | 0.00000057 | ||||
| Deploy | 18822740 | 230 days ago | IN | 0 ETH | 0.00000107 | ||||
| Deploy | 18406112 | 234 days ago | IN | 0 ETH | 0.00000133 | ||||
| Deploy | 18158004 | 237 days ago | IN | 0 ETH | 0.0000005 | ||||
| Deploy | 18157999 | 237 days ago | IN | 0 ETH | 0.00000043 | ||||
| Deploy | 17873087 | 241 days ago | IN | 0 ETH | 0.00000088 | ||||
| Deploy | 17701937 | 243 days ago | IN | 0 ETH | 0.0000007 | ||||
| Deploy | 17184192 | 249 days ago | IN | 0 ETH | 0.00000134 | ||||
| Deploy | 17182688 | 249 days ago | IN | 0 ETH | 0.00000453 | ||||
| Deploy | 16479046 | 257 days ago | IN | 0 ETH | 0.00000012 | ||||
| Deploy | 16062503 | 262 days ago | IN | 0 ETH | 0.00000053 | ||||
| Deploy | 16062288 | 262 days ago | IN | 0 ETH | 0.00000064 | ||||
| Transfer Ownersh... | 16045085 | 262 days ago | IN | 0 ETH | 0.00000001 |
Latest 21 internal transactions
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 35107226 | 41 days ago | Contract Creation | 0 ETH | |||
| 35107206 | 41 days ago | Contract Creation | 0 ETH | |||
| 34740489 | 45 days ago | Contract Creation | 0 ETH | |||
| 34740470 | 45 days ago | Contract Creation | 0 ETH | |||
| 28147615 | 122 days ago | Contract Creation | 0 ETH | |||
| 27571862 | 128 days ago | Contract Creation | 0 ETH | |||
| 27571851 | 128 days ago | Contract Creation | 0 ETH | |||
| 27552319 | 129 days ago | Contract Creation | 0 ETH | |||
| 27210155 | 133 days ago | Contract Creation | 0 ETH | |||
| 18825797 | 230 days ago | Contract Creation | 0 ETH | |||
| 18822740 | 230 days ago | Contract Creation | 0 ETH | |||
| 18406112 | 234 days ago | Contract Creation | 0 ETH | |||
| 18158004 | 237 days ago | Contract Creation | 0 ETH | |||
| 18157999 | 237 days ago | Contract Creation | 0 ETH | |||
| 17873087 | 241 days ago | Contract Creation | 0 ETH | |||
| 17701937 | 243 days ago | Contract Creation | 0 ETH | |||
| 17184192 | 249 days ago | Contract Creation | 0 ETH | |||
| 17182688 | 249 days ago | Contract Creation | 0 ETH | |||
| 16479046 | 257 days ago | Contract Creation | 0 ETH | |||
| 16062503 | 262 days ago | Contract Creation | 0 ETH | |||
| 16062288 | 262 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { Create3 } from "./libraries/Create3.sol";
contract Create3Deployer is Ownable {
constructor() Ownable(msg.sender) {} // solhint-disable-line no-empty-blocks
function deploy(bytes32 salt, bytes calldata code) external onlyOwner returns (address) {
return Create3.create3(salt, code);
}
function addressOf(bytes32 salt) external view returns (address) {
return Create3.addressOf(salt);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}//SPDX-License-Identifier: Unlicense pragma solidity 0.8.23; /** @title A library for deploying contracts EIP-3171 style. @author Agustin Aguilar <[email protected]> */ library Create3 { error ErrorCreatingProxy(); error ErrorCreatingContract(); error TargetAlreadyExists(); /** @notice The bytecode for a contract that proxies the creation of another contract @dev If this code is deployed using CREATE2 it can be used to decouple `creationCode` from the child contract address 0x67363d3d37363d34f0ff3d5260086017f3: 0x00 0x68 0x68XXXXXXXXXXXXXXXXXX PUSH9 bytecode 0x363d3d37363d34f0ff 0x01 0x3d 0x3d RETURNDATASIZE 0 0x363d3d37363d34f0ff 0x02 0x52 0x52 MSTORE 0x03 0x60 0x6009 PUSH1 09 9 0x04 0x60 0x6017 PUSH1 17 23 9 0x05 0xf3 0xf3 RETURN 0x363d3d37363d34f0: 0x00 0x36 0x36 CALLDATASIZE cds 0x01 0x3d 0x3d RETURNDATASIZE 0 cds 0x02 0x3d 0x3d RETURNDATASIZE 0 0 cds 0x03 0x37 0x37 CALLDATACOPY 0x04 0x36 0x36 CALLDATASIZE cds 0x05 0x3d 0x3d RETURNDATASIZE 0 cds 0x06 0x34 0x34 CALLVALUE val 0 cds 0x07 0xf0 0xf0 CREATE addr 0x08 0xff 0xff SELFDESTRUCT */ bytes private constant _PROXY_CHILD_BYTECODE = hex"68_36_3d_3d_37_36_3d_34_f0_ff_3d_52_60_09_60_17_f3"; // KECCAK256_PROXY_CHILD_BYTECODE = keccak256(PROXY_CHILD_BYTECODE); bytes32 private constant _KECCAK256_PROXY_CHILD_BYTECODE = keccak256(_PROXY_CHILD_BYTECODE); // 0x21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f; /** @notice Creates a new contract with given `_creationCode` and `_salt` @param _salt Salt of the contract creation, resulting address will be derivated from this value only @param _creationCode Creation code (constructor) of the contract to be deployed, this value doesn't affect the resulting address @return addr of the deployed contract, reverts on error */ function create3(bytes32 _salt, bytes memory _creationCode) internal returns (address addr) { // Creation code bytes memory creationCode = _PROXY_CHILD_BYTECODE; // Get target final address addr = addressOf(_salt); if (addr.code.length != 0) revert TargetAlreadyExists(); // Create CREATE2 proxy // solhint-disable-next-line no-inline-assembly address proxy; assembly { proxy := create2(0, add(creationCode, 32), mload(creationCode), _salt)} if (proxy == address(0)) revert ErrorCreatingProxy(); // Call proxy with final init code // solhint-disable-next-line avoid-low-level-calls (bool success,) = proxy.call(_creationCode); if (!success || addr.code.length == 0) revert ErrorCreatingContract(); } /** @notice Computes the resulting address of a contract deployed using address(this) and the given `_salt` @param _salt Salt of the contract creation, resulting address will be derivated from this value only @return addr of the deployed contract, reverts on error @dev The address creation formula is: keccak256(rlp([keccak256(0xff ++ address(this) ++ _salt ++ keccak256(childBytecode))[12:], 0x01])) */ function addressOf(bytes32 _salt) internal view returns (address) { address proxy = address( uint160( uint256( keccak256( abi.encodePacked( hex'ff', address(this), _salt, _KECCAK256_PROXY_CHILD_BYTECODE ) ) ) ) ); return address( uint160( uint256( keccak256( abi.encodePacked( hex"d6_94", proxy, hex"01" ) ) ) ) ); } }
{
"optimizer": {
"enabled": true,
"runs": 1000000
},
"evmVersion": "shanghai",
"viaIR": true,
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ErrorCreatingContract","type":"error"},{"inputs":[],"name":"ErrorCreatingProxy","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"TargetAlreadyExists","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"addressOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes","name":"code","type":"bytes"}],"name":"deploy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60808060405234610078573315610063575f8054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3610759908161007d8239f35b631e4fbdf760e01b81525f6004820152602490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063715018a6146100645780638da5cb5b1461005f578063bb34534c1461005a578063cdcb760a146100555763f2fde38b14610050575f80fd5b61024f565b6101ac565b610152565b610102565b346100fe575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5761009a610535565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b5f80fd5b346100fe575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346100fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe57602061018e6004356105cf565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346100fe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5767ffffffffffffffff6024358181116100fe57366023820112156100fe5780600401359182116100fe5736602483830101116100fe5761024b916024610224920160043561032e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b346100fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5760043573ffffffffffffffffffffffffffffffffffffffff8082168092036100fe576102a8610535565b81156102fe575f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b60246040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b91610337610535565b610340816104fb565b9061034e60405192836104ba565b808252602082019236828201116100fe57815f92602092863783010152610373610585565b9261037d816105cf565b93843b610426576020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156103fc575f9283809351925af16103b96106f4565b501580156103f3575b6103c95790565b60046040517f53de54b9000000000000000000000000000000000000000000000000000000008152fd5b50803b156103c2565b60046040517fbbd2fe87000000000000000000000000000000000000000000000000000000008152fd5b60046040517fcd43efa1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761049957604052565b610450565b6040810190811067ffffffffffffffff82111761049957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049957604052565b67ffffffffffffffff811161049957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361055557565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b604051906040820182811067ffffffffffffffff82111761049957604052601182527f68363d3d37363d34f0ff3d5260096017f30000000000000000000000000000006020830152565b6106d86106f1916105de610585565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526106318161047d565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152601781526106bc8161049e565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b3d1561071e573d90610705826104fb565b9161071360405193846104ba565b82523d5f602084013e565b60609056fea2646970667358221220c8f1513fc5eea7776352fc3958ba754d45a78e993fc1ee38a919f6439d92c72e64736f6c63430008170033
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f3560e01c8063715018a6146100645780638da5cb5b1461005f578063bb34534c1461005a578063cdcb760a146100555763f2fde38b14610050575f80fd5b61024f565b6101ac565b610152565b610102565b346100fe575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5761009a610535565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b5f80fd5b346100fe575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe57602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346100fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe57602061018e6004356105cf565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346100fe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5767ffffffffffffffff6024358181116100fe57366023820112156100fe5780600401359182116100fe5736602483830101116100fe5761024b916024610224920160043561032e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b346100fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fe5760043573ffffffffffffffffffffffffffffffffffffffff8082168092036100fe576102a8610535565b81156102fe575f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b60246040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b91610337610535565b610340816104fb565b9061034e60405192836104ba565b808252602082019236828201116100fe57815f92602092863783010152610373610585565b9261037d816105cf565b93843b610426576020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156103fc575f9283809351925af16103b96106f4565b501580156103f3575b6103c95790565b60046040517f53de54b9000000000000000000000000000000000000000000000000000000008152fd5b50803b156103c2565b60046040517fbbd2fe87000000000000000000000000000000000000000000000000000000008152fd5b60046040517fcd43efa1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761049957604052565b610450565b6040810190811067ffffffffffffffff82111761049957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049957604052565b67ffffffffffffffff811161049957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361055557565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b604051906040820182811067ffffffffffffffff82111761049957604052601182527f68363d3d37363d34f0ff3d5260096017f30000000000000000000000000000006020830152565b6106d86106f1916105de610585565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526106318161047d565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152601781526106bc8161049e565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b3d1561071e573d90610705826104fb565b9161071360405193846104ba565b82523d5f602084013e565b60609056fea2646970667358221220c8f1513fc5eea7776352fc3958ba754d45a78e993fc1ee38a919f6439d92c72e64736f6c63430008170033
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.