Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 35 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Merkle Mint | 14665379 | 920 days ago | IN | 0 ETH | 0.01562123 | ||||
Merkle Mint | 14257044 | 984 days ago | IN | 0 ETH | 0.05106036 | ||||
Merkle Mint | 14223933 | 989 days ago | IN | 0 ETH | 0.00926194 | ||||
Merkle Mint | 14204888 | 992 days ago | IN | 0 ETH | 0.03297285 | ||||
Merkle Mint | 14182909 | 995 days ago | IN | 0 ETH | 0.0203278 | ||||
Merkle Mint | 14147832 | 1001 days ago | IN | 0 ETH | 0.04655688 | ||||
Merkle Mint | 14145514 | 1001 days ago | IN | 0 ETH | 0.00874469 | ||||
Merkle Mint | 14132758 | 1003 days ago | IN | 0 ETH | 0.01650016 | ||||
Merkle Mint | 14106683 | 1007 days ago | IN | 0 ETH | 0.00911081 | ||||
Merkle Mint | 14105992 | 1007 days ago | IN | 0 ETH | 0.14746772 | ||||
Merkle Mint | 14097433 | 1008 days ago | IN | 0 ETH | 0.02327757 | ||||
Merkle Mint | 14094581 | 1009 days ago | IN | 0 ETH | 0.03733559 | ||||
Merkle Mint | 14094565 | 1009 days ago | IN | 0 ETH | 0.03279671 | ||||
Merkle Mint | 14093596 | 1009 days ago | IN | 0 ETH | 0.07856845 | ||||
Merkle Mint | 14086210 | 1010 days ago | IN | 0 ETH | 0.0728215 | ||||
Merkle Mint | 14082802 | 1011 days ago | IN | 0 ETH | 0.07981059 | ||||
Merkle Mint | 14079149 | 1011 days ago | IN | 0 ETH | 0.07175668 | ||||
Merkle Mint | 14074936 | 1012 days ago | IN | 0 ETH | 0.01903235 | ||||
Set Merkle Root | 14074858 | 1012 days ago | IN | 0 ETH | 0.00307658 | ||||
Merkle Mint | 14073403 | 1012 days ago | IN | 0 ETH | 0.01775936 | ||||
Merkle Mint | 14064947 | 1013 days ago | IN | 0 ETH | 0.07216531 | ||||
Merkle Mint | 14063370 | 1014 days ago | IN | 0 ETH | 0.03530799 | ||||
Merkle Mint | 14062905 | 1014 days ago | IN | 0 ETH | 0.04119305 | ||||
Merkle Mint | 14061732 | 1014 days ago | IN | 0 ETH | 0.07855144 | ||||
Merkle Mint | 14061679 | 1014 days ago | IN | 0 ETH | 0.02130435 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MerkleMint
Compiler Version
v0.8.3+commit.8d00100c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT OR Apache-2.0 pragma solidity ^0.8.3; /* ▄████▄ ██▀███ ▄▄▄ ▒███████▒▓██ ██▓ ▒██▀ ▀█ ▓██ ▒ ██▒▒████▄ ▒ ▒ ▒ ▄▀░ ▒██ ██▒ ▒▓█ ▄ ▓██ ░▄█ ▒▒██ ▀█▄ ░ ▒ ▄▀▒░ ▒██ ██░ ▒▓▓▄ ▄██▒▒██▀▀█▄ ░██▄▄▄▄██ ▄▀▒ ░ ░ ▐██▓░ ▒ ▓███▀ ░░██▓ ▒██▒ ▓█ ▓██▒▒███████▒ ░ ██▒▓░ ░ ░▒ ▒ ░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░░▒▒ ▓░▒░▒ ██▒▒▒ ░ ▒ ░▒ ░ ▒░ ▒ ▒▒ ░░░▒ ▒ ░ ▒ ▓██ ░▒░ ░ ░░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▄████▄ ██▓ ▒█████ █ █░ ███▄ █ ██████ ▒██▀ ▀█ ▓██▒ ▒██▒ ██▒▓█░ █ ░█░ ██ ▀█ █ ▒██ ▒ ▒▓█ ▄ ▒██░ ▒██░ ██▒▒█░ █ ░█ ▓██ ▀█ ██▒░ ▓██▄ ▒▓▓▄ ▄██▒▒██░ ▒██ ██░░█░ █ ░█ ▓██▒ ▐▌██▒ ▒ ██▒ ▒ ▓███▀ ░░██████▒░ ████▓▒░░░██▒██▓ ▒██░ ▓██░▒██████▒▒ ░ ░▒ ▒ ░░ ▒░▓ ░░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▒░ ▒ ▒ ▒ ▒▓▒ ▒ ░ ░ ▒ ░ ░ ▒ ░ ░ ▒ ▒░ ▒ ░ ░ ░ ░░ ░ ▒░░ ░▒ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ Crazy Clowns Insane Asylum 2021, V1.1 https://ccia.io */ import '@openzeppelin/contracts/utils/cryptography/MerkleProof.sol'; import '@openzeppelin/contracts/security/Pausable.sol'; import '@openzeppelin/contracts/access/Ownable.sol'; import './interfaces/ICrazyClown.sol'; contract MerkleMint is Ownable, Pausable { bytes32 public merkleRoot; //Address => tokenIDs mapping(address => uint256) public mintRecords; //Crazy Clown interface ICrazyClown public crazyClown; constructor(address _crazyClown, bytes32 _hash) { crazyClown = ICrazyClown(_crazyClown); merkleRoot = _hash; _pause(); } function merkleMint( uint256 numberOfTokens, uint256 maxQuantity, bytes32[] memory _merkleProof ) public whenNotPaused { require(crazyClown.totalSupply() + numberOfTokens <= crazyClown.maxSupply(), 'Mint would exceed max supply'); bytes32 node = keccak256(abi.encode(msg.sender, maxQuantity)); require(MerkleProof.verify(_merkleProof, merkleRoot, node), 'Address not eligible for mint'); uint256 mintedNum = mintRecords[msg.sender]; require(mintedNum + numberOfTokens <= maxQuantity, 'Mint would exceed max allowed'); mintRecords[msg.sender] = mintRecords[msg.sender] + numberOfTokens; crazyClown.sendReserve(msg.sender, numberOfTokens); } function getMintRecord(address _minter) public view returns (uint256) { return mintRecords[_minter]; } function setMerkleRoot(bytes32 _hash) external onlyOwner { merkleRoot = _hash; } function setMintContract(address _contract) external onlyOwner { crazyClown = ICrazyClown(_contract); } function togglePause() public onlyOwner { if (paused() == true) { require(crazyClown.saleStarted() == true, 'Public Sale not started'); _unpause(); } else { _pause(); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/cryptography/MerkleProof.sol) pragma solidity ^0.8.0; /** * @dev These functions deal with verification of Merkle Trees proofs. * * The proofs can be generated using the JavaScript library * https://github.com/miguelmota/merkletreejs[merkletreejs]. * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. * * See `test/utils/cryptography/MerkleProof.test.js` for some examples. */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify( bytes32[] memory proof, bytes32 root, bytes32 leaf ) internal pure returns (bool) { return processProof(proof, leaf) == root; } /** * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt * hash matches the root of the tree. When processing the proof, the pairs * of leafs & pre-images are assumed to be sorted. * * _Available since v4.4._ */ function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash <= proofElement) { // Hash(current computed hash + current element of the proof) computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); } else { // Hash(current element of the proof + current computed hash) computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); } } return computedHash; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (security/Pausable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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 OR Apache-2.0 pragma solidity ^0.8.3; /* ▄████▄ ██▀███ ▄▄▄ ▒███████▒▓██ ██▓ ▒██▀ ▀█ ▓██ ▒ ██▒▒████▄ ▒ ▒ ▒ ▄▀░ ▒██ ██▒ ▒▓█ ▄ ▓██ ░▄█ ▒▒██ ▀█▄ ░ ▒ ▄▀▒░ ▒██ ██░ ▒▓▓▄ ▄██▒▒██▀▀█▄ ░██▄▄▄▄██ ▄▀▒ ░ ░ ▐██▓░ ▒ ▓███▀ ░░██▓ ▒██▒ ▓█ ▓██▒▒███████▒ ░ ██▒▓░ ░ ░▒ ▒ ░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░░▒▒ ▓░▒░▒ ██▒▒▒ ░ ▒ ░▒ ░ ▒░ ▒ ▒▒ ░░░▒ ▒ ░ ▒ ▓██ ░▒░ ░ ░░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▄████▄ ██▓ ▒█████ █ █░ ███▄ █ ██████ ▒██▀ ▀█ ▓██▒ ▒██▒ ██▒▓█░ █ ░█░ ██ ▀█ █ ▒██ ▒ ▒▓█ ▄ ▒██░ ▒██░ ██▒▒█░ █ ░█ ▓██ ▀█ ██▒░ ▓██▄ ▒▓▓▄ ▄██▒▒██░ ▒██ ██░░█░ █ ░█ ▓██▒ ▐▌██▒ ▒ ██▒ ▒ ▓███▀ ░░██████▒░ ████▓▒░░░██▒██▓ ▒██░ ▓██░▒██████▒▒ ░ ░▒ ▒ ░░ ▒░▓ ░░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▒░ ▒ ▒ ▒ ▒▓▒ ▒ ░ ░ ▒ ░ ░ ▒ ░ ░ ▒ ▒░ ▒ ░ ░ ░ ░░ ░ ▒░░ ░▒ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ Crazy Clowns Insane Asylum 2021, V1.1 https://ccia.io */ interface ICrazyClown { function DEFAULT_ADMIN_ROLE() external view returns (bytes32); function MINTER_ROLE() external view returns (bytes32); function PublicRevealStatus() external view returns (bool); function _changeBioFee() external view returns (uint256); function _changeNameFee() external view returns (uint256); function getTokenBio(uint256 _tokenId) external view returns (string memory); function getTokenName(uint256 _tokenId) external view returns (string memory); // function addAttributes ( tuple[] _attributes ) external; function addContractToWhitelist(address _contract) external; function addMinterRole(address _address) external; function addToPreSaleList(address[] memory entries) external; // function addTokenIdHash ( tuple[] _hashList ) external; function approve(address to, uint256 tokenId) external; function attributes(string memory) external view returns ( string memory id, string memory trait_type, string memory value ); function balanceOf(address owner) external view returns (uint256); // function buildTokenUri ( tuple meta ) external view returns ( string ); function burn(uint256 tokenId) external; function changeBio(uint256 _tokenId, string memory _bio) external; function changeName(uint256 _tokenId, string memory _name) external; function contractURI() external view returns (string memory); function dataURI(uint256 tokenId) external view returns (string memory); function evolve_mint(address _user) external; function flipPreSaleStatus() external; function flipPublicSaleStarted() external; // function genericDataURI ( string name, string description, string external_url, string imageUrl, uint256 mintDate, tuple[] attributesData ) external view returns ( string ); function getApproved(uint256 tokenId) external view returns (address); function getPreSalePrice() external view returns (uint256); function getPrice() external view returns (uint256); function getReservedLeft() external view returns (uint256); function getRoleAdmin(bytes32 role) external view returns (bytes32); function grantRole(bytes32 role, address account) external; function hasRole(bytes32 role, address account) external view returns (bool); function hashList(uint256) external view returns (string memory); function isApprovedForAll(address owner, address operator) external view returns (bool); function isPreSaleApproved(address addr) external view returns (bool); function maxSupply() external view returns (uint256); function mint(uint256 _nbTokens, bool _allowStaking) external; function mintListPurchases(address) external view returns (uint256); function name() external view returns (string memory); function ownerOf(uint256 tokenId) external view returns (address); function placeHolderURI() external view returns (string memory); function preSaleListPurchases(address) external view returns (uint256); function preSaleLive() external view returns (bool); function preSaleMintLimit() external view returns (uint256); function preSalePrice() external view returns (uint256); function preSaleWhitelist(address) external view returns (bool); function price() external view returns (uint256); function provenanceHash() external view returns (string memory); function publicMintLimit() external view returns (uint256); function publicSaleTransLimit() external view returns (uint256); function removeContractFromWhitelist(address _contract) external; function removeFromPreSaleList(address[] memory entries) external; function renounceRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function safeTransferFrom( address from, address to, uint256 tokenId ) external; function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) external; function saleStarted() external view returns (bool); function sendReserve(address _receiver, uint256 _nbTokens) external; function setApprovalForAll(address operator, bool approved) external; function setBaseURI(string memory _URI) external; function setChangeBioFee(uint256 _fee) external; function setChangeNameFee(uint256 _fee) external; function setContractURI(string memory _URI) external; function setPlaceholderURI(string memory uri) external; function setPreSaleMintLimit(uint256 _newPresaleMintLimit) external; function setPreSalePrice(uint256 _newPreSalePrice) external; function setPrice(uint256 _newPrice) external; function setProvenanceHash(string memory _provenanceHash) external; function setPublicMintLimit(uint256 limit) external; function setPublicSaleTransLimit(uint256 limit) external; function setReservedSupply(uint256 _newReservedSupply) external; function supportsInterface(bytes4 interfaceId) external view returns (bool); function symbol() external view returns (string memory); function togglePublicReveal() external; function tokenByIndex(uint256 index) external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256); function tokenURI(uint256 tokenId) external view returns (string memory); function totalSupply() external view returns (uint256); function transferFrom( address from, address to, uint256 tokenId ) external; function utilityToken() external view returns (address); function walletOfOwner(address _owner) external view returns (uint256[] memory); function withdraw(address _receiver) external; }
// 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; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_crazyClown","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"crazyClown","outputs":[{"internalType":"contract ICrazyClown","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"getMintRecord","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"merkleMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintRecords","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"}],"name":"setMintContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610dbc380380610dbc83398101604081905261002f91610173565b61003833610074565b6000805460ff60a01b19169055600380546001600160a01b0319166001600160a01b038416179055600181905561006d6100c4565b50506101ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6100d7600054600160a01b900460ff1690565b1561011b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640160405180910390fd5b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586101563390565b6040516001600160a01b03909116815260200160405180910390a1565b60008060408385031215610185578182fd5b82516001600160a01b038116811461019b578283fd5b6020939093015192949293505050565b610c02806101ba6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461013b57806393b348f71461016057806397562de414610173578063be90cb3e14610193578063c4ae3168146101bc578063f2fde38b146101c4576100b4565b80632eb4a7ab146100b957806357560698146100d55780635c975abb146100ea5780635fb64a6a1461010d578063715018a6146101205780637cb6475914610128575b600080fd5b6100c260015481565b6040519081526020015b60405180910390f35b6100e86100e3366004610a63565b6101d7565b005b6100fd600054600160a01b900460ff1690565b60405190151581526020016100cc565b6100e861011b3660046109e5565b610515565b6100e8610561565b6100e8610136366004610a33565b610597565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100cc565b600354610148906001600160a01b031681565b6100c26101813660046109e5565b60026020526000908152604090205481565b6100c26101a13660046109e5565b6001600160a01b031660009081526002602052604090205490565b6100e86105c6565b6100e86101d23660046109e5565b6106f9565b6101ea600054600160a01b900460ff1690565b1561022f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663d5abeb016040518163ffffffff1660e01b815260040160206040518083038186803b15801561027d57600080fd5b505afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b59190610a4b565b600354604080516318160ddd60e01b8152905186926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190610a4b565b61033b9190610b6d565b11156103895760405162461bcd60e51b815260206004820152601c60248201527f4d696e7420776f756c6420657863656564206d617820737570706c79000000006044820152606401610226565b604080513360208201529081018390526000906060016040516020818303038152906040528051906020012090506103c48260015483610794565b6104105760405162461bcd60e51b815260206004820152601d60248201527f41646472657373206e6f7420656c696769626c6520666f72206d696e740000006044820152606401610226565b336000908152600260205260409020548361042b8683610b6d565b11156104795760405162461bcd60e51b815260206004820152601d60248201527f4d696e7420776f756c6420657863656564206d617820616c6c6f7765640000006044820152606401610226565b33600090815260026020526040902054610494908690610b6d565b336000818152600260205260409081902092909255600354915163b009872960e01b81526004810191909152602481018790526001600160a01b039091169063b009872990604401600060405180830381600087803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b0316331461053f5760405162461bcd60e51b815260040161022690610b38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161022690610b38565b61059560006107aa565b565b6000546001600160a01b031633146105c15760405162461bcd60e51b815260040161022690610b38565b600155565b6000546001600160a01b031633146105f05760405162461bcd60e51b815260040161022690610b38565b610603600054600160a01b900460ff1690565b1515600114156106f157600360009054906101000a90046001600160a01b03166001600160a01b0316635c474f9e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561065b57600080fd5b505afa15801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190610a13565b15156001146106e45760405162461bcd60e51b815260206004820152601760248201527f5075626c69632053616c65206e6f7420737461727465640000000000000000006044820152606401610226565b6106ec6107fa565b610595565b61059561089d565b6000546001600160a01b031633146107235760405162461bcd60e51b815260040161022690610b38565b6001600160a01b0381166107885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610226565b610791816107aa565b50565b6000826107a1858461092b565b14949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61080d600054600160a01b900460ff1690565b6108505760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610226565b6000805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6108b0600054600160a01b900460ff1690565b156108f05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610226565b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108803390565b600081815b84518110156109dd57600085828151811061095b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161099d5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506109ca565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806109d581610b85565b915050610930565b509392505050565b6000602082840312156109f6578081fd5b81356001600160a01b0381168114610a0c578182fd5b9392505050565b600060208284031215610a24578081fd5b81518015158114610a0c578182fd5b600060208284031215610a44578081fd5b5035919050565b600060208284031215610a5c578081fd5b5051919050565b600080600060608486031215610a77578182fd5b833592506020808501359250604085013567ffffffffffffffff80821115610a9d578384fd5b818701915087601f830112610ab0578384fd5b813581811115610ac257610ac2610bb6565b8060051b604051601f19603f83011681018181108582111715610ae757610ae7610bb6565b604052828152858101935084860182860187018c1015610b05578788fd5b8795505b83861015610b27578035855260019590950194938601938601610b09565b508096505050505050509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610b8057610b80610ba0565b500190565b6000600019821415610b9957610b99610ba0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220cd3476ac6196053d3d947fa6d83a767cb8178baf13cb25064a0099cbbd64c61a64736f6c63430008030033000000000000000000000000268dc08347305c1e812f17ef255c9ec92ab7d566bd6629d27594b294bc544227a5cb36c52045a04bcff52bcc9c50d15a9e7c18d0
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461013b57806393b348f71461016057806397562de414610173578063be90cb3e14610193578063c4ae3168146101bc578063f2fde38b146101c4576100b4565b80632eb4a7ab146100b957806357560698146100d55780635c975abb146100ea5780635fb64a6a1461010d578063715018a6146101205780637cb6475914610128575b600080fd5b6100c260015481565b6040519081526020015b60405180910390f35b6100e86100e3366004610a63565b6101d7565b005b6100fd600054600160a01b900460ff1690565b60405190151581526020016100cc565b6100e861011b3660046109e5565b610515565b6100e8610561565b6100e8610136366004610a33565b610597565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100cc565b600354610148906001600160a01b031681565b6100c26101813660046109e5565b60026020526000908152604090205481565b6100c26101a13660046109e5565b6001600160a01b031660009081526002602052604090205490565b6100e86105c6565b6100e86101d23660046109e5565b6106f9565b6101ea600054600160a01b900460ff1690565b1561022f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663d5abeb016040518163ffffffff1660e01b815260040160206040518083038186803b15801561027d57600080fd5b505afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b59190610a4b565b600354604080516318160ddd60e01b8152905186926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190610a4b565b61033b9190610b6d565b11156103895760405162461bcd60e51b815260206004820152601c60248201527f4d696e7420776f756c6420657863656564206d617820737570706c79000000006044820152606401610226565b604080513360208201529081018390526000906060016040516020818303038152906040528051906020012090506103c48260015483610794565b6104105760405162461bcd60e51b815260206004820152601d60248201527f41646472657373206e6f7420656c696769626c6520666f72206d696e740000006044820152606401610226565b336000908152600260205260409020548361042b8683610b6d565b11156104795760405162461bcd60e51b815260206004820152601d60248201527f4d696e7420776f756c6420657863656564206d617820616c6c6f7765640000006044820152606401610226565b33600090815260026020526040902054610494908690610b6d565b336000818152600260205260409081902092909255600354915163b009872960e01b81526004810191909152602481018790526001600160a01b039091169063b009872990604401600060405180830381600087803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b0316331461053f5760405162461bcd60e51b815260040161022690610b38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161022690610b38565b61059560006107aa565b565b6000546001600160a01b031633146105c15760405162461bcd60e51b815260040161022690610b38565b600155565b6000546001600160a01b031633146105f05760405162461bcd60e51b815260040161022690610b38565b610603600054600160a01b900460ff1690565b1515600114156106f157600360009054906101000a90046001600160a01b03166001600160a01b0316635c474f9e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561065b57600080fd5b505afa15801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190610a13565b15156001146106e45760405162461bcd60e51b815260206004820152601760248201527f5075626c69632053616c65206e6f7420737461727465640000000000000000006044820152606401610226565b6106ec6107fa565b610595565b61059561089d565b6000546001600160a01b031633146107235760405162461bcd60e51b815260040161022690610b38565b6001600160a01b0381166107885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610226565b610791816107aa565b50565b6000826107a1858461092b565b14949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61080d600054600160a01b900460ff1690565b6108505760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610226565b6000805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6108b0600054600160a01b900460ff1690565b156108f05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610226565b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108803390565b600081815b84518110156109dd57600085828151811061095b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161099d5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506109ca565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806109d581610b85565b915050610930565b509392505050565b6000602082840312156109f6578081fd5b81356001600160a01b0381168114610a0c578182fd5b9392505050565b600060208284031215610a24578081fd5b81518015158114610a0c578182fd5b600060208284031215610a44578081fd5b5035919050565b600060208284031215610a5c578081fd5b5051919050565b600080600060608486031215610a77578182fd5b833592506020808501359250604085013567ffffffffffffffff80821115610a9d578384fd5b818701915087601f830112610ab0578384fd5b813581811115610ac257610ac2610bb6565b8060051b604051601f19603f83011681018181108582111715610ae757610ae7610bb6565b604052828152858101935084860182860187018c1015610b05578788fd5b8795505b83861015610b27578035855260019590950194938601938601610b09565b508096505050505050509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610b8057610b80610ba0565b500190565b6000600019821415610b9957610b99610ba0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220cd3476ac6196053d3d947fa6d83a767cb8178baf13cb25064a0099cbbd64c61a64736f6c63430008030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000268dc08347305c1e812f17ef255c9ec92ab7d566bd6629d27594b294bc544227a5cb36c52045a04bcff52bcc9c50d15a9e7c18d0
-----Decoded View---------------
Arg [0] : _crazyClown (address): 0x268dc08347305c1E812F17eF255c9eC92AB7d566
Arg [1] : _hash (bytes32): 0xbd6629d27594b294bc544227a5cb36c52045a04bcff52bcc9c50d15a9e7c18d0
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000268dc08347305c1e812f17ef255c9ec92ab7d566
Arg [1] : bd6629d27594b294bc544227a5cb36c52045a04bcff52bcc9c50d15a9e7c18d0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.