Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 14 from a total of 14 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
New Merkle Airdr... | 16450509 | 733 days ago | IN | 0 ETH | 0.01294984 | ||||
New Merkle Airdr... | 16450507 | 733 days ago | IN | 0 ETH | 0.01328937 | ||||
New Merkle Airdr... | 16450505 | 733 days ago | IN | 0 ETH | 0.01329251 | ||||
New Merkle Airdr... | 16348172 | 748 days ago | IN | 0 ETH | 0.00595957 | ||||
New Merkle Airdr... | 16348107 | 748 days ago | IN | 0 ETH | 0.00716064 | ||||
New Merkle Airdr... | 16133276 | 778 days ago | IN | 0 ETH | 0.00635957 | ||||
New Merkle Airdr... | 16133274 | 778 days ago | IN | 0 ETH | 0.00665717 | ||||
New Merkle Airdr... | 16133273 | 778 days ago | IN | 0 ETH | 0.006791 | ||||
New Merkle Airdr... | 15870827 | 814 days ago | IN | 0 ETH | 0.00874658 | ||||
New Merkle Airdr... | 15870825 | 814 days ago | IN | 0 ETH | 0.00897269 | ||||
New Merkle Airdr... | 15870824 | 814 days ago | IN | 0 ETH | 0.00882624 | ||||
New Merkle Airdr... | 15648086 | 845 days ago | IN | 0 ETH | 0.0060127 | ||||
New Merkle Airdr... | 15648035 | 845 days ago | IN | 0 ETH | 0.00654808 | ||||
New Merkle Airdr... | 15648011 | 845 days ago | IN | 0 ETH | 0.01018894 |
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
MerkleProofAirdropFactory
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: Unlicense pragma solidity ^0.8.0; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/Counters.sol"; import "@openzeppelin/contracts/proxy/Clones.sol"; interface IClonableWhitelistReference { function initialize(bytes32 merkleRoot) external; } interface IClonableAirdropMinimal1155Reference { function initialize( address merkleProofWhitelist, address tokenContract, uint256 tokenId, uint256 startTime, uint256 endTime, address admin, address payout ) external; } interface IClonableERC1155Reference { function initialize( string memory tokenName, string memory tokenSymbol, string memory tokenURI, address admin, address factory, address minter ) external; function grantRole( bytes32 role, address account ) external; function setTokenURI( uint256 _tokenId, string memory _tokenURI ) external; function tokenIdToURI( uint256 _tokenId ) external returns (string memory); } contract MerkleProofAirdropFactory is Ownable { event NewMerkle1155AirdropClone( uint256 indexed id, address indexed referenceContract, address indexed airdropClone, address merkleProofWhitelist, uint256 startTime, uint256 endTime ); event NewMerkleWhitelistClone( address indexed referenceContract, address indexed merkleProofWhitelistClone ); event NewERC1155Clone( address indexed referenceContract, address indexed erc1155Clone ); event SetClonableAirdropReferenceValidity( address indexed referenceContract, bool validity ); event SetClonableWhitelistReferenceValidity( address indexed referenceContract, bool validity ); event SetClonableERC1155ReferenceValidity( address indexed referenceContract, bool validity ); mapping(address => bool) public validClonableERC1155References; mapping(address => bool) public validClonableAirdropReferences; mapping(address => bool) public validClonableWhitelistReferences; bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); // Controlled variables using Counters for Counters.Counter; Counters.Counter private _airdropIds; constructor( address _clonableERC1155, address _clonableMerkleAirdrop, address _clonableMerkleWhitelist ) { validClonableERC1155References[_clonableERC1155] = true; validClonableAirdropReferences[_clonableMerkleAirdrop] = true; validClonableWhitelistReferences[_clonableMerkleWhitelist] = true; emit SetClonableERC1155ReferenceValidity(_clonableERC1155, true); emit SetClonableWhitelistReferenceValidity(_clonableMerkleWhitelist, true); emit SetClonableAirdropReferenceValidity(_clonableMerkleAirdrop, true); } function newMerkleAirdrop( address _airdropReferenceContract, address _whitelistContract, address _tokenContract, uint256 _tokenId, uint256 _startTime, uint256 _endTime, address _admin, address _payout ) external onlyOwner { require(validClonableAirdropReferences[_airdropReferenceContract], "INVALID_AIRDROP_REFERENCE_CONTRACT"); _airdropIds.increment(); uint256 newAirdropId = _airdropIds.current(); // Deploy new airdrop contract address newAirdropCloneAddress = Clones.clone(_airdropReferenceContract); IClonableAirdropMinimal1155Reference newAirdropClone = IClonableAirdropMinimal1155Reference(newAirdropCloneAddress); newAirdropClone.initialize(_whitelistContract, _tokenContract, _tokenId, _startTime, _endTime, _admin, _payout); emit NewMerkle1155AirdropClone(newAirdropId, _airdropReferenceContract, newAirdropCloneAddress, _whitelistContract, _startTime, _endTime); // Set the airdrop contract as a minter of the NFT contract IClonableERC1155Reference existingERC1155Clone = IClonableERC1155Reference(_tokenContract); existingERC1155Clone.grantRole(MINTER_ROLE, newAirdropCloneAddress); } function newMerkleWhitelist( address _whitelistReferenceContract, bytes32 _merkleRoot ) external onlyOwner { require(validClonableWhitelistReferences[_whitelistReferenceContract], "INVALID_WHITELIST_REFERENCE_CONTRACT"); // Deploy new whitelist contract address newWhitelistCloneAddress = Clones.clone(_whitelistReferenceContract); IClonableWhitelistReference newWhitelistClone = IClonableWhitelistReference(newWhitelistCloneAddress); newWhitelistClone.initialize(_merkleRoot); emit NewMerkleWhitelistClone(_whitelistReferenceContract, newWhitelistCloneAddress); } function newERC1155( address _erc1155ReferenceContract, string memory _tokenName, string memory _tokenSymbol, string memory _tokenURI, address _admin, address _minter ) external onlyOwner { require(validClonableERC1155References[_erc1155ReferenceContract], "INVALID_ERC1155_REFERENCE_CONTRACT"); // Deploy new ERC1155 contract address newERC1155CloneAddress = Clones.clone(_erc1155ReferenceContract); IClonableERC1155Reference newERC1155Clone = IClonableERC1155Reference(newERC1155CloneAddress); newERC1155Clone.initialize( _tokenName, _tokenSymbol, _tokenURI, _admin, address(this), _minter ); emit NewERC1155Clone(_erc1155ReferenceContract, newERC1155CloneAddress); } function newMerkleAirdropAndWhitelist( address _airdropReferenceContract, address _whitelistReferenceContract, bytes32 _merkleRoot, uint256 _startTime, uint256 _endTime, address _tokenContract, uint256 _tokenId, string memory _tokenURI, address _admin, address _payout ) external onlyOwner { require(validClonableAirdropReferences[_airdropReferenceContract], "INVALID_AIRDROP_REFERENCE_CONTRACT"); require(validClonableWhitelistReferences[_whitelistReferenceContract], "INVALID_WHITELIST_REFERENCE_CONTRACT"); _airdropIds.increment(); uint256 newAirdropId = _airdropIds.current(); // Deploy new whitelist contract address newWhitelistCloneAddress = cloneAndInitWhitelist(_whitelistReferenceContract, _merkleRoot); // Deploy new airdrop contract address newAirdropCloneAddress = Clones.clone(_airdropReferenceContract); initAirdropClone(newAirdropCloneAddress, newWhitelistCloneAddress, _tokenContract, _tokenId, _startTime, _endTime, _admin, _payout); emit NewMerkle1155AirdropClone(newAirdropId, _airdropReferenceContract, newAirdropCloneAddress, newWhitelistCloneAddress, _startTime, _endTime); // Set the airdrop contract as a minter of the NFT contract IClonableERC1155Reference existingERC1155Clone = IClonableERC1155Reference(_tokenContract); existingERC1155Clone.grantRole(MINTER_ROLE, newAirdropCloneAddress); // Set the tokenURI of the new token ID if there isn't one set already if(keccak256(bytes(existingERC1155Clone.tokenIdToURI(_tokenId))) == keccak256(bytes(""))) { existingERC1155Clone.setTokenURI(_tokenId, _tokenURI); } } function newMerkleAirdropAndWhitelistAndERC1155( address _airdropReferenceContract, address _whitelistReferenceContract, address _erc1155ReferenceContract, bytes32 _merkleRoot, uint256 _startTime, uint256 _endTime, string memory _tokenName, string memory _tokenSymbol, string memory _tokenURI, address _airdropAdminAndTempTokenAdmin, address _payout ) external onlyOwner { require(validClonableAirdropReferences[_airdropReferenceContract], "INVALID_AIRDROP_REFERENCE_CONTRACT"); _airdropIds.increment(); uint256 newAirdropId = _airdropIds.current(); // Deploy new airdrop contract address newAirdropCloneAddress = Clones.clone(_airdropReferenceContract); // Deploy and init new whitelist contract address newWhitelistCloneAddress = cloneAndInitWhitelist(_whitelistReferenceContract, _merkleRoot); // Deploy and init new ERC1155 contract address newERC1155CloneAddress = cloneAndInitERC1155( _erc1155ReferenceContract, _tokenName, _tokenSymbol, _tokenURI, _airdropAdminAndTempTokenAdmin, newAirdropCloneAddress ); // Initialize new airdrop contract initAirdropClone(newAirdropCloneAddress, newWhitelistCloneAddress, newERC1155CloneAddress, 1, _startTime, _endTime, _airdropAdminAndTempTokenAdmin, _payout); emit NewMerkle1155AirdropClone(newAirdropId, _airdropReferenceContract, newAirdropCloneAddress, newWhitelistCloneAddress, _startTime, _endTime); } function setClonableAirdropReferenceValidity( address _airdropReferenceContract, bool _validity ) external onlyOwner { validClonableAirdropReferences[_airdropReferenceContract] = _validity; emit SetClonableAirdropReferenceValidity(_airdropReferenceContract, _validity); } function setClonableWhitelistReferenceValidity( address _whitelistReferenceContract, bool _validity ) external onlyOwner { validClonableWhitelistReferences[_whitelistReferenceContract] = _validity; emit SetClonableWhitelistReferenceValidity(_whitelistReferenceContract, _validity); } function setClonableERC1155ReferenceValidity( address _erc1155ReferenceContract, bool _validity ) external onlyOwner { validClonableERC1155References[_erc1155ReferenceContract] = _validity; emit SetClonableERC1155ReferenceValidity(_erc1155ReferenceContract, _validity); } // Internal functions function initAirdropClone( address _clone, address _merkleProofWhitelist, address _tokenContract, uint256 _tokenId, uint256 _startTime, uint256 _endTime, address _admin, address _payout ) internal { IClonableAirdropMinimal1155Reference newAirdropClone = IClonableAirdropMinimal1155Reference(_clone); newAirdropClone.initialize(_merkleProofWhitelist, _tokenContract, _tokenId, _startTime, _endTime, _admin, _payout); } function cloneAndInitWhitelist( address _whitelistReferenceContract, bytes32 _merkleRoot ) internal returns (address) { require(validClonableWhitelistReferences[_whitelistReferenceContract], "INVALID_WHITELIST_REFERENCE_CONTRACT"); // Deploy new whitelist contract address newWhitelistCloneAddress = Clones.clone(_whitelistReferenceContract); // Initialize new whitelist contract IClonableWhitelistReference newWhitelistClone = IClonableWhitelistReference(newWhitelistCloneAddress); newWhitelistClone.initialize(_merkleRoot); emit NewMerkleWhitelistClone(_whitelistReferenceContract, newWhitelistCloneAddress); return newWhitelistCloneAddress; } function cloneAndInitERC1155( address _erc1155ReferenceContract, string memory _tokenName, string memory _tokenSymbol, string memory _tokenURI, address _tokenAdmin, address _airdropCloneAddress ) internal returns (address) { require(validClonableERC1155References[_erc1155ReferenceContract], "INVALID_ERC1155_REFERENCE_CONTRACT"); // Deploy new ERC1155 contract address newERC1155CloneAddress = Clones.clone(_erc1155ReferenceContract); // Initialize new ERC1155 contract IClonableERC1155Reference newERC1155Clone = IClonableERC1155Reference(newERC1155CloneAddress); newERC1155Clone.initialize( _tokenName, _tokenSymbol, _tokenURI, _tokenAdmin, address(this), _airdropCloneAddress ); emit NewERC1155Clone(_erc1155ReferenceContract, newERC1155CloneAddress); return newERC1155CloneAddress; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (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 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 { 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 // OpenZeppelin Contracts v4.4.1 (utils/Counters.sol) pragma solidity ^0.8.0; /** * @title Counters * @author Matt Condon (@shrugs) * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number * of elements in a mapping, issuing ERC721 ids, or counting request ids. * * Include with `using Counters for Counters.Counter;` */ library Counters { struct Counter { // This variable should never be directly accessed by users of the library: interactions must be restricted to // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add // this feature: see https://github.com/ethereum/solidity/issues/4637 uint256 _value; // default: 0 } function current(Counter storage counter) internal view returns (uint256) { return counter._value; } function increment(Counter storage counter) internal { unchecked { counter._value += 1; } } function decrement(Counter storage counter) internal { uint256 value = counter._value; require(value > 0, "Counter: decrement overflow"); unchecked { counter._value = value - 1; } } function reset(Counter storage counter) internal { counter._value = 0; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.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 { 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) { /// @solidity memory-safe-assembly 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) { /// @solidity memory-safe-assembly 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)); } }
// 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": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_clonableERC1155","type":"address"},{"internalType":"address","name":"_clonableMerkleAirdrop","type":"address"},{"internalType":"address","name":"_clonableMerkleWhitelist","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":true,"internalType":"address","name":"erc1155Clone","type":"address"}],"name":"NewERC1155Clone","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":true,"internalType":"address","name":"airdropClone","type":"address"},{"indexed":false,"internalType":"address","name":"merkleProofWhitelist","type":"address"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"NewMerkle1155AirdropClone","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":true,"internalType":"address","name":"merkleProofWhitelistClone","type":"address"}],"name":"NewMerkleWhitelistClone","type":"event"},{"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":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":false,"internalType":"bool","name":"validity","type":"bool"}],"name":"SetClonableAirdropReferenceValidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":false,"internalType":"bool","name":"validity","type":"bool"}],"name":"SetClonableERC1155ReferenceValidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referenceContract","type":"address"},{"indexed":false,"internalType":"bool","name":"validity","type":"bool"}],"name":"SetClonableWhitelistReferenceValidity","type":"event"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155ReferenceContract","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"string","name":"_tokenURI","type":"string"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_minter","type":"address"}],"name":"newERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdropReferenceContract","type":"address"},{"internalType":"address","name":"_whitelistContract","type":"address"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_payout","type":"address"}],"name":"newMerkleAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdropReferenceContract","type":"address"},{"internalType":"address","name":"_whitelistReferenceContract","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_tokenURI","type":"string"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_payout","type":"address"}],"name":"newMerkleAirdropAndWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdropReferenceContract","type":"address"},{"internalType":"address","name":"_whitelistReferenceContract","type":"address"},{"internalType":"address","name":"_erc1155ReferenceContract","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"string","name":"_tokenURI","type":"string"},{"internalType":"address","name":"_airdropAdminAndTempTokenAdmin","type":"address"},{"internalType":"address","name":"_payout","type":"address"}],"name":"newMerkleAirdropAndWhitelistAndERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_whitelistReferenceContract","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"name":"newMerkleWhitelist","outputs":[],"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":"_airdropReferenceContract","type":"address"},{"internalType":"bool","name":"_validity","type":"bool"}],"name":"setClonableAirdropReferenceValidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155ReferenceContract","type":"address"},{"internalType":"bool","name":"_validity","type":"bool"}],"name":"setClonableERC1155ReferenceValidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_whitelistReferenceContract","type":"address"},{"internalType":"bool","name":"_validity","type":"bool"}],"name":"setClonableWhitelistReferenceValidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"validClonableAirdropReferences","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"validClonableERC1155References","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"validClonableWhitelistReferences","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200275e3803806200275e83398181016040528101906200003791906200033d565b620000576200004b6200025a60201b60201c565b6200026260201b60201c565b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f816dd9d542e01163481293817da72fd7b35224cec934994070e574c8cf5236aa6001604051620001a79190620003a4565b60405180910390a28073ffffffffffffffffffffffffffffffffffffffff167f01fb9eb94f5bf0326f3d3d631427bac351c72601d541d777c3c3a0da382c9f216001604051620001f89190620003a4565b60405180910390a28173ffffffffffffffffffffffffffffffffffffffff167f3f459b5bacdd0024431150f62c0a086931fc501d4f56ce728e8657226f85b03d6001604051620002499190620003a4565b60405180910390a25050506200041b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050620003378162000401565b92915050565b6000806000606084860312156200035357600080fd5b6000620003638682870162000326565b9350506020620003768682870162000326565b9250506040620003898682870162000326565b9150509250925092565b6200039e81620003d5565b82525050565b6000602082019050620003bb600083018462000393565b92915050565b6000620003ce82620003e1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200040c81620003c1565b81146200041857600080fd5b50565b612333806200042b6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c80637d7fc26c11610097578063d18a70a911610066578063d18a70a914610259578063d539139314610275578063eeabfbb314610293578063f2fde38b146102af576100f4565b80637d7fc26c146101e757806386a8a1cc146102035780638cc3cdd61461021f5780638da5cb5b1461023b576100f4565b806319d5e7f4116100d357806319d5e7f414610175578063258f185f146101a557806368fc97bc146101c1578063715018a6146101dd576100f4565b80625adc09146100f9578063176940b114610129578063199d0b0214610159575b600080fd5b610113600480360381019061010e9190611724565b6102cb565b6040516101209190611dbc565b60405180910390f35b610143600480360381019061013e9190611724565b6102eb565b6040516101509190611dbc565b60405180910390f35b610173600480360381019061016e9190611a2a565b61030b565b005b61018f600480360381019061018a9190611724565b6103bc565b60405161019c9190611dbc565b60405180910390f35b6101bf60048036038101906101ba9190611a66565b6103dc565b005b6101db60048036038101906101d69190611a2a565b61054d565b005b6101e56105fe565b005b61020160048036038101906101fc919061174d565b610612565b005b61021d60048036038101906102189190611885565b610777565b005b61023960048036038101906102349190611a2a565b6109b6565b005b610243610a67565b6040516102509190611cfb565b60405180910390f35b610273600480360381019061026e9190611aa2565b610a90565b005b61027d610c0f565b60405161028a9190611dd7565b60405180910390f35b6102ad60048036038101906102a89190611937565b610c33565b005b6102c960048036038101906102c49190611724565b610fc4565b005b60036020528060005260406000206000915054906101000a900460ff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b610313611048565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f3f459b5bacdd0024431150f62c0a086931fc501d4f56ce728e8657226f85b03d826040516103b09190611dbc565b60405180910390a25050565b60016020528060005260406000206000915054906101000a900460ff1681565b6103e4611048565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046790611ed1565b60405180910390fd5b600061047b836110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639498bd71846040518263ffffffff1660e01b81526004016104bb9190611dd7565b600060405180830381600087803b1580156104d557600080fd5b505af11580156104e9573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f587ab8bc0e067435569ec0b3e95f4367351c426d88e05bc9eca7e3d53cb0934760405160405180910390a350505050565b610555611048565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f01fb9eb94f5bf0326f3d3d631427bac351c72601d541d777c3c3a0da382c9f21826040516105f29190611dbc565b60405180910390a25050565b610606611048565b610610600061119b565b565b61061a611048565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d90611f31565b60405180910390fd5b6106b0600461125f565b60006106bc6004611275565b905060006106c98d6110c6565b905060006106d78d8c611283565b905060006106e98d8a8a8a8a886113f3565b90506106fc83838360018f8f8c8c611571565b8273ffffffffffffffffffffffffffffffffffffffff168f73ffffffffffffffffffffffffffffffffffffffff16857f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf858f8f60405161075e93929190611d85565b60405180910390a4505050505050505050505050505050565b61077f611048565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611f31565b60405180910390fd5b610815600461125f565b60006108216004611275565b9050600061082e8a6110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16630729da0b8b8b8b8b8b8b8b6040518863ffffffff1660e01b815260040161087a9796959493929190611d16565b600060405180830381600087803b15801561089457600080fd5b505af11580156108a8573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16847f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf8d8b8b60405161090e93929190611d85565b60405180910390a460008990508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6856040518363ffffffff1660e01b8152600401610976929190611df2565b600060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b50505050505050505050505050505050565b6109be611048565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f816dd9d542e01163481293817da72fd7b35224cec934994070e574c8cf5236aa82604051610a5b9190611dbc565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a98611048565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b90611e91565b60405180910390fd5b6000610b2f876110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639630c8ac8888888830896040518763ffffffff1660e01b8152600401610b7996959493929190611e1b565b600060405180830381600087803b158015610b9357600080fd5b505af1158015610ba7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f7d610b3a75a2d62f1759d393489506232d0d94b8f72df7519d2e881e9fc3bbf060405160405180910390a35050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610c3b611048565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90611f31565b60405180910390fd5b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4a90611ed1565b60405180910390fd5b610d5d600461125f565b6000610d696004611275565b90506000610d778b8b611283565b90506000610d848d6110c6565b9050610d9681838a8a8e8e8b8b611571565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff16847f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf858e8e604051610df893929190611d85565b60405180910390a460008890508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6846040518363ffffffff1660e01b8152600401610e60929190611df2565b600060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b5050505060405180602001604052806000815250805190602001208173ffffffffffffffffffffffffffffffffffffffff16630221e7858a6040518263ffffffff1660e01b8152600401610ee29190611f51565b600060405180830381600087803b158015610efc57600080fd5b505af1158015610f10573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610f399190611b73565b805190602001201415610fb4578073ffffffffffffffffffffffffffffffffffffffff1663162094c489896040518363ffffffff1660e01b8152600401610f81929190611f6c565b600060405180830381600087803b158015610f9b57600080fd5b505af1158015610faf573d6000803e3d6000fd5b505050505b5050505050505050505050505050565b610fcc611048565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390611eb1565b60405180910390fd5b6110458161119b565b50565b6110506115f8565b73ffffffffffffffffffffffffffffffffffffffff1661106e610a67565b73ffffffffffffffffffffffffffffffffffffffff16146110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb90611f11565b60405180910390fd5b565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d90611ef1565b60405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b600081600001549050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611ed1565b60405180910390fd5b600061131c846110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639498bd71856040518263ffffffff1660e01b815260040161135c9190611dd7565b600060405180830381600087803b15801561137657600080fd5b505af115801561138a573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f587ab8bc0e067435569ec0b3e95f4367351c426d88e05bc9eca7e3d53cb0934760405160405180910390a3819250505092915050565b6000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147890611e91565b60405180910390fd5b600061148c886110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639630c8ac89898989308a6040518763ffffffff1660e01b81526004016114d696959493929190611e1b565b600060405180830381600087803b1580156114f057600080fd5b505af1158015611504573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f7d610b3a75a2d62f1759d393489506232d0d94b8f72df7519d2e881e9fc3bbf060405160405180910390a381925050509695505050505050565b60008890508073ffffffffffffffffffffffffffffffffffffffff16630729da0b898989898989896040518863ffffffff1660e01b81526004016115bb9796959493929190611d16565b600060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b50505050505050505050505050565b600033905090565b600061161361160e84611fc1565b611f9c565b90508281526020810184848401111561162b57600080fd5b611636848285612060565b509392505050565b600061165161164c84611fc1565b611f9c565b90508281526020810184848401111561166957600080fd5b61167484828561206f565b509392505050565b60008135905061168b816122a1565b92915050565b6000813590506116a0816122b8565b92915050565b6000813590506116b5816122cf565b92915050565b600082601f8301126116cc57600080fd5b81356116dc848260208601611600565b91505092915050565b600082601f8301126116f657600080fd5b815161170684826020860161163e565b91505092915050565b60008135905061171e816122e6565b92915050565b60006020828403121561173657600080fd5b60006117448482850161167c565b91505092915050565b60008060008060008060008060008060006101608c8e03121561176f57600080fd5b600061177d8e828f0161167c565b9b5050602061178e8e828f0161167c565b9a5050604061179f8e828f0161167c565b99505060606117b08e828f016116a6565b98505060806117c18e828f0161170f565b97505060a06117d28e828f0161170f565b96505060c08c013567ffffffffffffffff8111156117ef57600080fd5b6117fb8e828f016116bb565b95505060e08c013567ffffffffffffffff81111561181857600080fd5b6118248e828f016116bb565b9450506101008c013567ffffffffffffffff81111561184257600080fd5b61184e8e828f016116bb565b9350506101206118608e828f0161167c565b9250506101406118728e828f0161167c565b9150509295989b509295989b9093969950565b600080600080600080600080610100898b0312156118a257600080fd5b60006118b08b828c0161167c565b98505060206118c18b828c0161167c565b97505060406118d28b828c0161167c565b96505060606118e38b828c0161170f565b95505060806118f48b828c0161170f565b94505060a06119058b828c0161170f565b93505060c06119168b828c0161167c565b92505060e06119278b828c0161167c565b9150509295985092959890939650565b6000806000806000806000806000806101408b8d03121561195757600080fd5b60006119658d828e0161167c565b9a505060206119768d828e0161167c565b99505060406119878d828e016116a6565b98505060606119988d828e0161170f565b97505060806119a98d828e0161170f565b96505060a06119ba8d828e0161167c565b95505060c06119cb8d828e0161170f565b94505060e08b013567ffffffffffffffff8111156119e857600080fd5b6119f48d828e016116bb565b935050610100611a068d828e0161167c565b925050610120611a188d828e0161167c565b9150509295989b9194979a5092959850565b60008060408385031215611a3d57600080fd5b6000611a4b8582860161167c565b9250506020611a5c85828601611691565b9150509250929050565b60008060408385031215611a7957600080fd5b6000611a878582860161167c565b9250506020611a98858286016116a6565b9150509250929050565b60008060008060008060c08789031215611abb57600080fd5b6000611ac989828a0161167c565b965050602087013567ffffffffffffffff811115611ae657600080fd5b611af289828a016116bb565b955050604087013567ffffffffffffffff811115611b0f57600080fd5b611b1b89828a016116bb565b945050606087013567ffffffffffffffff811115611b3857600080fd5b611b4489828a016116bb565b9350506080611b5589828a0161167c565b92505060a0611b6689828a0161167c565b9150509295509295509295565b600060208284031215611b8557600080fd5b600082015167ffffffffffffffff811115611b9f57600080fd5b611bab848285016116e5565b91505092915050565b611bbd8161200e565b82525050565b611bcc81612020565b82525050565b611bdb8161202c565b82525050565b6000611bec82611ff2565b611bf68185611ffd565b9350611c0681856020860161206f565b611c0f81612102565b840191505092915050565b6000611c27602283611ffd565b9150611c3282612113565b604082019050919050565b6000611c4a602683611ffd565b9150611c5582612162565b604082019050919050565b6000611c6d602483611ffd565b9150611c78826121b1565b604082019050919050565b6000611c90601683611ffd565b9150611c9b82612200565b602082019050919050565b6000611cb3602083611ffd565b9150611cbe82612229565b602082019050919050565b6000611cd6602283611ffd565b9150611ce182612252565b604082019050919050565b611cf581612056565b82525050565b6000602082019050611d106000830184611bb4565b92915050565b600060e082019050611d2b600083018a611bb4565b611d386020830189611bb4565b611d456040830188611cec565b611d526060830187611cec565b611d5f6080830186611cec565b611d6c60a0830185611bb4565b611d7960c0830184611bb4565b98975050505050505050565b6000606082019050611d9a6000830186611bb4565b611da76020830185611cec565b611db46040830184611cec565b949350505050565b6000602082019050611dd16000830184611bc3565b92915050565b6000602082019050611dec6000830184611bd2565b92915050565b6000604082019050611e076000830185611bd2565b611e146020830184611bb4565b9392505050565b600060c0820190508181036000830152611e358189611be1565b90508181036020830152611e498188611be1565b90508181036040830152611e5d8187611be1565b9050611e6c6060830186611bb4565b611e796080830185611bb4565b611e8660a0830184611bb4565b979650505050505050565b60006020820190508181036000830152611eaa81611c1a565b9050919050565b60006020820190508181036000830152611eca81611c3d565b9050919050565b60006020820190508181036000830152611eea81611c60565b9050919050565b60006020820190508181036000830152611f0a81611c83565b9050919050565b60006020820190508181036000830152611f2a81611ca6565b9050919050565b60006020820190508181036000830152611f4a81611cc9565b9050919050565b6000602082019050611f666000830184611cec565b92915050565b6000604082019050611f816000830185611cec565b8181036020830152611f938184611be1565b90509392505050565b6000611fa6611fb7565b9050611fb282826120a2565b919050565b6000604051905090565b600067ffffffffffffffff821115611fdc57611fdb6120d3565b5b611fe582612102565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061201982612036565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561208d578082015181840152602081019050612072565b8381111561209c576000848401525b50505050565b6120ab82612102565b810181811067ffffffffffffffff821117156120ca576120c96120d3565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f494e56414c49445f455243313135355f5245464552454e43455f434f4e54524160008201527f4354000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f494e56414c49445f57484954454c4953545f5245464552454e43455f434f4e5460008201527f5241435400000000000000000000000000000000000000000000000000000000602082015250565b7f455243313136373a20637265617465206661696c656400000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f494e56414c49445f41495244524f505f5245464552454e43455f434f4e54524160008201527f4354000000000000000000000000000000000000000000000000000000000000602082015250565b6122aa8161200e565b81146122b557600080fd5b50565b6122c181612020565b81146122cc57600080fd5b50565b6122d88161202c565b81146122e357600080fd5b50565b6122ef81612056565b81146122fa57600080fd5b5056fea2646970667358221220ad0ba27ce25bac976ba8d8e5f82ce5c81987e5328a446020d5305ca7df2acfeb64736f6c634300080400330000000000000000000000005341f7ac9770601eba8943da809c7ba51d71dde3000000000000000000000000a047e0cadbd8e215b39109592559734e6fa1880d0000000000000000000000000aa4b6af0f29dae7d822a15a6eef9547806d358a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f45760003560e01c80637d7fc26c11610097578063d18a70a911610066578063d18a70a914610259578063d539139314610275578063eeabfbb314610293578063f2fde38b146102af576100f4565b80637d7fc26c146101e757806386a8a1cc146102035780638cc3cdd61461021f5780638da5cb5b1461023b576100f4565b806319d5e7f4116100d357806319d5e7f414610175578063258f185f146101a557806368fc97bc146101c1578063715018a6146101dd576100f4565b80625adc09146100f9578063176940b114610129578063199d0b0214610159575b600080fd5b610113600480360381019061010e9190611724565b6102cb565b6040516101209190611dbc565b60405180910390f35b610143600480360381019061013e9190611724565b6102eb565b6040516101509190611dbc565b60405180910390f35b610173600480360381019061016e9190611a2a565b61030b565b005b61018f600480360381019061018a9190611724565b6103bc565b60405161019c9190611dbc565b60405180910390f35b6101bf60048036038101906101ba9190611a66565b6103dc565b005b6101db60048036038101906101d69190611a2a565b61054d565b005b6101e56105fe565b005b61020160048036038101906101fc919061174d565b610612565b005b61021d60048036038101906102189190611885565b610777565b005b61023960048036038101906102349190611a2a565b6109b6565b005b610243610a67565b6040516102509190611cfb565b60405180910390f35b610273600480360381019061026e9190611aa2565b610a90565b005b61027d610c0f565b60405161028a9190611dd7565b60405180910390f35b6102ad60048036038101906102a89190611937565b610c33565b005b6102c960048036038101906102c49190611724565b610fc4565b005b60036020528060005260406000206000915054906101000a900460ff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b610313611048565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f3f459b5bacdd0024431150f62c0a086931fc501d4f56ce728e8657226f85b03d826040516103b09190611dbc565b60405180910390a25050565b60016020528060005260406000206000915054906101000a900460ff1681565b6103e4611048565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046790611ed1565b60405180910390fd5b600061047b836110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639498bd71846040518263ffffffff1660e01b81526004016104bb9190611dd7565b600060405180830381600087803b1580156104d557600080fd5b505af11580156104e9573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f587ab8bc0e067435569ec0b3e95f4367351c426d88e05bc9eca7e3d53cb0934760405160405180910390a350505050565b610555611048565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f01fb9eb94f5bf0326f3d3d631427bac351c72601d541d777c3c3a0da382c9f21826040516105f29190611dbc565b60405180910390a25050565b610606611048565b610610600061119b565b565b61061a611048565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d90611f31565b60405180910390fd5b6106b0600461125f565b60006106bc6004611275565b905060006106c98d6110c6565b905060006106d78d8c611283565b905060006106e98d8a8a8a8a886113f3565b90506106fc83838360018f8f8c8c611571565b8273ffffffffffffffffffffffffffffffffffffffff168f73ffffffffffffffffffffffffffffffffffffffff16857f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf858f8f60405161075e93929190611d85565b60405180910390a4505050505050505050505050505050565b61077f611048565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611f31565b60405180910390fd5b610815600461125f565b60006108216004611275565b9050600061082e8a6110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16630729da0b8b8b8b8b8b8b8b6040518863ffffffff1660e01b815260040161087a9796959493929190611d16565b600060405180830381600087803b15801561089457600080fd5b505af11580156108a8573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16847f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf8d8b8b60405161090e93929190611d85565b60405180910390a460008990508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6856040518363ffffffff1660e01b8152600401610976929190611df2565b600060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b50505050505050505050505050505050565b6109be611048565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f816dd9d542e01163481293817da72fd7b35224cec934994070e574c8cf5236aa82604051610a5b9190611dbc565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a98611048565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b90611e91565b60405180910390fd5b6000610b2f876110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639630c8ac8888888830896040518763ffffffff1660e01b8152600401610b7996959493929190611e1b565b600060405180830381600087803b158015610b9357600080fd5b505af1158015610ba7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f7d610b3a75a2d62f1759d393489506232d0d94b8f72df7519d2e881e9fc3bbf060405160405180910390a35050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610c3b611048565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbe90611f31565b60405180910390fd5b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4a90611ed1565b60405180910390fd5b610d5d600461125f565b6000610d696004611275565b90506000610d778b8b611283565b90506000610d848d6110c6565b9050610d9681838a8a8e8e8b8b611571565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff16847f967fbe3c17b0d8a6ffaa17cca693b89857aa034f630b7911e6b45acf2f3631cf858e8e604051610df893929190611d85565b60405180910390a460008890508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6846040518363ffffffff1660e01b8152600401610e60929190611df2565b600060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b5050505060405180602001604052806000815250805190602001208173ffffffffffffffffffffffffffffffffffffffff16630221e7858a6040518263ffffffff1660e01b8152600401610ee29190611f51565b600060405180830381600087803b158015610efc57600080fd5b505af1158015610f10573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610f399190611b73565b805190602001201415610fb4578073ffffffffffffffffffffffffffffffffffffffff1663162094c489896040518363ffffffff1660e01b8152600401610f81929190611f6c565b600060405180830381600087803b158015610f9b57600080fd5b505af1158015610faf573d6000803e3d6000fd5b505050505b5050505050505050505050505050565b610fcc611048565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390611eb1565b60405180910390fd5b6110458161119b565b50565b6110506115f8565b73ffffffffffffffffffffffffffffffffffffffff1661106e610a67565b73ffffffffffffffffffffffffffffffffffffffff16146110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb90611f11565b60405180910390fd5b565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d90611ef1565b60405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b600081600001549050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611ed1565b60405180910390fd5b600061131c846110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639498bd71856040518263ffffffff1660e01b815260040161135c9190611dd7565b600060405180830381600087803b15801561137657600080fd5b505af115801561138a573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f587ab8bc0e067435569ec0b3e95f4367351c426d88e05bc9eca7e3d53cb0934760405160405180910390a3819250505092915050565b6000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147890611e91565b60405180910390fd5b600061148c886110c6565b905060008190508073ffffffffffffffffffffffffffffffffffffffff16639630c8ac89898989308a6040518763ffffffff1660e01b81526004016114d696959493929190611e1b565b600060405180830381600087803b1580156114f057600080fd5b505af1158015611504573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f7d610b3a75a2d62f1759d393489506232d0d94b8f72df7519d2e881e9fc3bbf060405160405180910390a381925050509695505050505050565b60008890508073ffffffffffffffffffffffffffffffffffffffff16630729da0b898989898989896040518863ffffffff1660e01b81526004016115bb9796959493929190611d16565b600060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b50505050505050505050505050565b600033905090565b600061161361160e84611fc1565b611f9c565b90508281526020810184848401111561162b57600080fd5b611636848285612060565b509392505050565b600061165161164c84611fc1565b611f9c565b90508281526020810184848401111561166957600080fd5b61167484828561206f565b509392505050565b60008135905061168b816122a1565b92915050565b6000813590506116a0816122b8565b92915050565b6000813590506116b5816122cf565b92915050565b600082601f8301126116cc57600080fd5b81356116dc848260208601611600565b91505092915050565b600082601f8301126116f657600080fd5b815161170684826020860161163e565b91505092915050565b60008135905061171e816122e6565b92915050565b60006020828403121561173657600080fd5b60006117448482850161167c565b91505092915050565b60008060008060008060008060008060006101608c8e03121561176f57600080fd5b600061177d8e828f0161167c565b9b5050602061178e8e828f0161167c565b9a5050604061179f8e828f0161167c565b99505060606117b08e828f016116a6565b98505060806117c18e828f0161170f565b97505060a06117d28e828f0161170f565b96505060c08c013567ffffffffffffffff8111156117ef57600080fd5b6117fb8e828f016116bb565b95505060e08c013567ffffffffffffffff81111561181857600080fd5b6118248e828f016116bb565b9450506101008c013567ffffffffffffffff81111561184257600080fd5b61184e8e828f016116bb565b9350506101206118608e828f0161167c565b9250506101406118728e828f0161167c565b9150509295989b509295989b9093969950565b600080600080600080600080610100898b0312156118a257600080fd5b60006118b08b828c0161167c565b98505060206118c18b828c0161167c565b97505060406118d28b828c0161167c565b96505060606118e38b828c0161170f565b95505060806118f48b828c0161170f565b94505060a06119058b828c0161170f565b93505060c06119168b828c0161167c565b92505060e06119278b828c0161167c565b9150509295985092959890939650565b6000806000806000806000806000806101408b8d03121561195757600080fd5b60006119658d828e0161167c565b9a505060206119768d828e0161167c565b99505060406119878d828e016116a6565b98505060606119988d828e0161170f565b97505060806119a98d828e0161170f565b96505060a06119ba8d828e0161167c565b95505060c06119cb8d828e0161170f565b94505060e08b013567ffffffffffffffff8111156119e857600080fd5b6119f48d828e016116bb565b935050610100611a068d828e0161167c565b925050610120611a188d828e0161167c565b9150509295989b9194979a5092959850565b60008060408385031215611a3d57600080fd5b6000611a4b8582860161167c565b9250506020611a5c85828601611691565b9150509250929050565b60008060408385031215611a7957600080fd5b6000611a878582860161167c565b9250506020611a98858286016116a6565b9150509250929050565b60008060008060008060c08789031215611abb57600080fd5b6000611ac989828a0161167c565b965050602087013567ffffffffffffffff811115611ae657600080fd5b611af289828a016116bb565b955050604087013567ffffffffffffffff811115611b0f57600080fd5b611b1b89828a016116bb565b945050606087013567ffffffffffffffff811115611b3857600080fd5b611b4489828a016116bb565b9350506080611b5589828a0161167c565b92505060a0611b6689828a0161167c565b9150509295509295509295565b600060208284031215611b8557600080fd5b600082015167ffffffffffffffff811115611b9f57600080fd5b611bab848285016116e5565b91505092915050565b611bbd8161200e565b82525050565b611bcc81612020565b82525050565b611bdb8161202c565b82525050565b6000611bec82611ff2565b611bf68185611ffd565b9350611c0681856020860161206f565b611c0f81612102565b840191505092915050565b6000611c27602283611ffd565b9150611c3282612113565b604082019050919050565b6000611c4a602683611ffd565b9150611c5582612162565b604082019050919050565b6000611c6d602483611ffd565b9150611c78826121b1565b604082019050919050565b6000611c90601683611ffd565b9150611c9b82612200565b602082019050919050565b6000611cb3602083611ffd565b9150611cbe82612229565b602082019050919050565b6000611cd6602283611ffd565b9150611ce182612252565b604082019050919050565b611cf581612056565b82525050565b6000602082019050611d106000830184611bb4565b92915050565b600060e082019050611d2b600083018a611bb4565b611d386020830189611bb4565b611d456040830188611cec565b611d526060830187611cec565b611d5f6080830186611cec565b611d6c60a0830185611bb4565b611d7960c0830184611bb4565b98975050505050505050565b6000606082019050611d9a6000830186611bb4565b611da76020830185611cec565b611db46040830184611cec565b949350505050565b6000602082019050611dd16000830184611bc3565b92915050565b6000602082019050611dec6000830184611bd2565b92915050565b6000604082019050611e076000830185611bd2565b611e146020830184611bb4565b9392505050565b600060c0820190508181036000830152611e358189611be1565b90508181036020830152611e498188611be1565b90508181036040830152611e5d8187611be1565b9050611e6c6060830186611bb4565b611e796080830185611bb4565b611e8660a0830184611bb4565b979650505050505050565b60006020820190508181036000830152611eaa81611c1a565b9050919050565b60006020820190508181036000830152611eca81611c3d565b9050919050565b60006020820190508181036000830152611eea81611c60565b9050919050565b60006020820190508181036000830152611f0a81611c83565b9050919050565b60006020820190508181036000830152611f2a81611ca6565b9050919050565b60006020820190508181036000830152611f4a81611cc9565b9050919050565b6000602082019050611f666000830184611cec565b92915050565b6000604082019050611f816000830185611cec565b8181036020830152611f938184611be1565b90509392505050565b6000611fa6611fb7565b9050611fb282826120a2565b919050565b6000604051905090565b600067ffffffffffffffff821115611fdc57611fdb6120d3565b5b611fe582612102565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061201982612036565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561208d578082015181840152602081019050612072565b8381111561209c576000848401525b50505050565b6120ab82612102565b810181811067ffffffffffffffff821117156120ca576120c96120d3565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f494e56414c49445f455243313135355f5245464552454e43455f434f4e54524160008201527f4354000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f494e56414c49445f57484954454c4953545f5245464552454e43455f434f4e5460008201527f5241435400000000000000000000000000000000000000000000000000000000602082015250565b7f455243313136373a20637265617465206661696c656400000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f494e56414c49445f41495244524f505f5245464552454e43455f434f4e54524160008201527f4354000000000000000000000000000000000000000000000000000000000000602082015250565b6122aa8161200e565b81146122b557600080fd5b50565b6122c181612020565b81146122cc57600080fd5b50565b6122d88161202c565b81146122e357600080fd5b50565b6122ef81612056565b81146122fa57600080fd5b5056fea2646970667358221220ad0ba27ce25bac976ba8d8e5f82ce5c81987e5328a446020d5305ca7df2acfeb64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005341f7ac9770601eba8943da809c7ba51d71dde3000000000000000000000000a047e0cadbd8e215b39109592559734e6fa1880d0000000000000000000000000aa4b6af0f29dae7d822a15a6eef9547806d358a
-----Decoded View---------------
Arg [0] : _clonableERC1155 (address): 0x5341F7AC9770601eBA8943dA809C7BA51d71DDe3
Arg [1] : _clonableMerkleAirdrop (address): 0xa047e0CAdBd8e215b39109592559734E6fa1880d
Arg [2] : _clonableMerkleWhitelist (address): 0x0Aa4b6AF0F29DaE7d822a15A6EEf9547806d358a
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000005341f7ac9770601eba8943da809c7ba51d71dde3
Arg [1] : 000000000000000000000000a047e0cadbd8e215b39109592559734e6fa1880d
Arg [2] : 0000000000000000000000000aa4b6af0f29dae7d822a15a6eef9547806d358a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.