More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,624 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint NFT | 14354865 | 1138 days ago | IN | 0.03 ETH | 0.004933 | ||||
Mint NFT | 14332881 | 1141 days ago | IN | 0.03 ETH | 0.0038421 | ||||
Mint NFT | 14331263 | 1141 days ago | IN | 0.03 ETH | 0.0046518 | ||||
Mint NFT | 14330590 | 1141 days ago | IN | 0.03 ETH | 0.00650197 | ||||
Mint NFT | 14329950 | 1141 days ago | IN | 0.06 ETH | 0.01185122 | ||||
Mint NFT | 14328554 | 1142 days ago | IN | 0.03 ETH | 0.00711832 | ||||
Mint NFT | 14327899 | 1142 days ago | IN | 0.03 ETH | 0.00941237 | ||||
Mint NFT | 14327484 | 1142 days ago | IN | 0.03 ETH | 0.00567631 | ||||
Mint NFT | 14318533 | 1143 days ago | IN | 0.03 ETH | 0.00681769 | ||||
Mint NFT | 14294033 | 1147 days ago | IN | 0.06 ETH | 0.00689379 | ||||
Mint NFT | 14290057 | 1148 days ago | IN | 0.03 ETH | 0.00602697 | ||||
Mint NFT | 14228533 | 1157 days ago | IN | 0.03 ETH | 0.01227738 | ||||
Mint NFT | 14201330 | 1161 days ago | IN | 0.06 ETH | 0.01067416 | ||||
Mint NFT | 14199192 | 1162 days ago | IN | 0.03 ETH | 0.01110959 | ||||
Mint NFT | 14199175 | 1162 days ago | IN | 0.03 ETH | 0.0119699 | ||||
Mint NFT | 14199168 | 1162 days ago | IN | 0.03 ETH | 0.01330367 | ||||
Mint NFT | 14199115 | 1162 days ago | IN | 0.03 ETH | 0.01100682 | ||||
Mint NFT | 14145864 | 1170 days ago | IN | 0.03 ETH | 0.0095501 | ||||
Mint NFT | 14132646 | 1172 days ago | IN | 0.06 ETH | 0.02309982 | ||||
Mint NFT | 14111266 | 1175 days ago | IN | 0.03 ETH | 0.01716857 | ||||
Mint NFT | 14103804 | 1176 days ago | IN | 0.03 ETH | 0.01749517 | ||||
Mint NFT | 14048034 | 1185 days ago | IN | 0.06 ETH | 0.03097163 | ||||
Mint NFT | 14018852 | 1190 days ago | IN | 0.03 ETH | 0.02983013 | ||||
Mint NFT | 14010713 | 1191 days ago | IN | 0.06 ETH | 0.02643188 | ||||
Mint NFT | 13987226 | 1194 days ago | IN | 0.03 ETH | 0.0284385 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 14354865 | 1138 days ago | 0.0105 ETH | ||||
- | 14354865 | 1138 days ago | 0.0045 ETH | ||||
- | 14354865 | 1138 days ago | 0.015 ETH | ||||
- | 14332881 | 1141 days ago | 0.0105 ETH | ||||
- | 14332881 | 1141 days ago | 0.0045 ETH | ||||
- | 14332881 | 1141 days ago | 0.015 ETH | ||||
- | 14331263 | 1141 days ago | 0.0105 ETH | ||||
- | 14331263 | 1141 days ago | 0.0045 ETH | ||||
- | 14331263 | 1141 days ago | 0.015 ETH | ||||
- | 14330590 | 1141 days ago | 0.0105 ETH | ||||
- | 14330590 | 1141 days ago | 0.0045 ETH | ||||
- | 14330590 | 1141 days ago | 0.015 ETH | ||||
- | 14329950 | 1141 days ago | 0.021 ETH | ||||
- | 14329950 | 1141 days ago | 0.009 ETH | ||||
- | 14329950 | 1141 days ago | 0.03 ETH | ||||
- | 14328554 | 1142 days ago | 0.0105 ETH | ||||
- | 14328554 | 1142 days ago | 0.0045 ETH | ||||
- | 14328554 | 1142 days ago | 0.015 ETH | ||||
- | 14327899 | 1142 days ago | 0.0105 ETH | ||||
- | 14327899 | 1142 days ago | 0.0045 ETH | ||||
- | 14327899 | 1142 days ago | 0.015 ETH | ||||
- | 14327484 | 1142 days ago | 0.0105 ETH | ||||
- | 14327484 | 1142 days ago | 0.0045 ETH | ||||
- | 14327484 | 1142 days ago | 0.015 ETH | ||||
- | 14318533 | 1143 days ago | 0.0105 ETH |
Loading...
Loading
Contract Name:
EvilTeddyBearSale
Compiler Version
v0.7.3+commit.9bfce1f6
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity 0.7.3; import "@openzeppelin/contracts/math/SafeMath.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "./IEvilTeddyBear.sol"; contract EvilTeddyBearSale is Ownable { using SafeMath for uint256; IEvilTeddyBear public evilTeddyBear; uint256 public catsGivenAway; uint256 public beginningOfSale; uint256 public constant MAX_SUPPLY = 10000; uint256 public constant PRICE = 3e16; // 0.03 ETH uint256 public constant GIVE_AWAY_ALLOCATION = 100; address payable[3] public treasury; constructor( address _evilTeddyBear, address payable[3] memory _treasury, uint256 _beginningOfSale ) { evilTeddyBear = IEvilTeddyBear(_evilTeddyBear); beginningOfSale = _beginningOfSale; treasury = _treasury; } // fallback function can be used to mint EvilTeddyBears receive() external payable { uint256 numOfEvilTeddyBears = msg.value.div(PRICE); mintNFT(numOfEvilTeddyBears); } /** * @dev Main sale function. Mints EvilTeddyBears */ function mintNFT(uint256 numberOfEvilTeddyBears) public payable { require(block.timestamp >= beginningOfSale, "Sale has not started"); require( evilTeddyBear.totalSupply() <= MAX_SUPPLY, "Sale has already ended" ); require( evilTeddyBear.totalSupply().add(numberOfEvilTeddyBears) <= MAX_SUPPLY, "Exceeds MAX_SUPPLY" ); require( PRICE.mul(numberOfEvilTeddyBears) == msg.value, "Ether value sent is not correct" ); for (uint256 i; i < numberOfEvilTeddyBears; i++) { evilTeddyBear.mint(msg.sender); } forwardFunds(msg.value); } function forwardFunds(uint256 funds) internal { uint256 ownerShare = funds.div(2); uint256 partnerOneShare = (funds.div(2)).mul(30).div(100); uint256 partnerTwoShare = funds.sub(ownerShare).sub(partnerOneShare); (bool successOwnerShare, ) = treasury[0].call{value: ownerShare}(""); require(successOwnerShare, "funds were not sent properly to treasury"); (bool successPartnerOneShare, ) = treasury[1].call{ value: partnerOneShare }(""); require( successPartnerOneShare, "funds were not sent properly to treasury" ); (bool success, ) = treasury[1].call{value: partnerTwoShare}(""); require(success, "funds were not sent properly to treasury"); } // owner mode function setTreasury(address payable[3] memory _treasury) public onlyOwner { treasury = _treasury; } function removeDustFunds(address _treasury) public onlyOwner { (bool success, ) = _treasury.call{value: address(this).balance}(""); require(success, "funds were not sent properly to treasury"); } function mintGiveAwayCatsWithAddresses(address[] calldata supporters) external onlyOwner { require( catsGivenAway.add(supporters.length) <= GIVE_AWAY_ALLOCATION, "Exceeded giveaway supply" ); // Reserved for people who helped this project and giveaways for (uint256 index; index < supporters.length; index++) { evilTeddyBear.mint(supporters[index]); catsGivenAway = catsGivenAway.add(1); } } function mintGiveAwayCats( uint256 numberOfEvilTeddyBears // only used if we do not have all helper's addresses by sale time ) external onlyOwner { require( catsGivenAway.add(numberOfEvilTeddyBears) <= GIVE_AWAY_ALLOCATION, "Exceeded giveaway supply" ); // Reserved for people who helped this project and giveaways for (uint256 index; index < numberOfEvilTeddyBears; index++) { evilTeddyBear.mint(owner()); catsGivenAway = catsGivenAway.add(1); } } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), 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 { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
//SPDX-License-Identifier: Unlicense pragma solidity ^0.7.3; import "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol"; interface IEvilTeddyBear is IERC721Enumerable { function mint(address) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <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 GSN 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 payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.8.0; import "./IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Enumerable is IERC721 { /** * @dev Returns the total amount of tokens stored by the contract. */ function totalSupply() external view returns (uint256); /** * @dev Returns a token ID owned by `owner` at a given `index` of its token list. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); /** * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. * Use along with {totalSupply} to enumerate all tokens. */ function tokenByIndex(uint256 index) external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.8.0; import "../../introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_evilTeddyBear","type":"address"},{"internalType":"address payable[3]","name":"_treasury","type":"address[3]"},{"internalType":"uint256","name":"_beginningOfSale","type":"uint256"}],"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"},{"inputs":[],"name":"GIVE_AWAY_ALLOCATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"beginningOfSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"catsGivenAway","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"evilTeddyBear","outputs":[{"internalType":"contract IEvilTeddyBear","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfEvilTeddyBears","type":"uint256"}],"name":"mintGiveAwayCats","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"supporters","type":"address[]"}],"name":"mintGiveAwayCatsWithAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfEvilTeddyBears","type":"uint256"}],"name":"mintNFT","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"removeDustFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable[3]","name":"_treasury","type":"address[3]"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051620012b0380380620012b0833981810160405260a081101561003557600080fd5b5080516080820151909160200190600061004d6100ce565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03851617905560038181556100c59060049084906100d2565b5050505061013f565b3390565b826003810192821561011a579160200282015b8281111561011a57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906100e5565b5061012692915061012a565b5090565b5b80821115610126576000815560010161012b565b611161806200014f6000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a5780638da5cb5b116100595780638da5cb5b14610328578063926427441461033d578063e18c4db81461035a578063f2fde38b1461036f57610112565b8063715018a6146102b657806389d4dafd146102cb5780638a3f1bb5146102fe5780638d859f3e1461031357610112565b80632485e526116100c65780632485e526146101b457806332cb6b0c146101de5780634c5430a0146101f35780635607634c1461023957610112565b806311e816c214610117578063144b70911461013e578063186250651461015357610112565b3661011257600061010434666a94d74f4300006103a2565b905061010f8161040b565b50005b600080fd5b34801561012357600080fd5b5061012c6106d2565b60408051918252519081900360200190f35b34801561014a57600080fd5b5061012c6106d7565b34801561015f57600080fd5b506101b26004803603606081101561017657600080fd5b81019080806060019060038060200260405190810160405280929190826003602002808284376000920191909152509194506106dd9350505050565b005b3480156101c057600080fd5b506101b2600480360360208110156101d757600080fd5b5035610750565b3480156101ea57600080fd5b5061012c6108a5565b3480156101ff57600080fd5b5061021d6004803603602081101561021657600080fd5b50356108ab565b604080516001600160a01b039092168252519081900360200190f35b34801561024557600080fd5b506101b26004803603602081101561025c57600080fd5b81019060208101813564010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460208302840111640100000000831117156102ab57600080fd5b5090925090506108c8565b3480156102c257600080fd5b506101b2610a36565b3480156102d757600080fd5b506101b2600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae2565b34801561030a57600080fd5b5061012c610bd4565b34801561031f57600080fd5b5061012c610bda565b34801561033457600080fd5b5061021d610be5565b6101b26004803603602081101561035357600080fd5b503561040b565b34801561036657600080fd5b5061021d610bf4565b34801561037b57600080fd5b506101b26004803603602081101561039257600080fd5b50356001600160a01b0316610c03565b60008082116103f8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161040157fe5b0490505b92915050565b600354421015610459576040805162461bcd60e51b815260206004820152601460248201527314d85b19481a185cc81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b600154604080516318160ddd60e01b81529051612710926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561049f57600080fd5b505afa1580156104b3573d6000803e3d6000fd5b505050506040513d60208110156104c957600080fd5b50511115610517576040805162461bcd60e51b815260206004820152601660248201527514d85b19481a185cc8185b1c9958591e48195b99195960521b604482015290519081900360640190fd5b61271061059e82600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056c57600080fd5b505afa158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b505190610d05565b11156105e6576040805162461bcd60e51b815260206004820152601260248201527145786365656473204d41585f535550504c5960701b604482015290519081900360640190fd5b346105f8666a94d74f43000083610d66565b1461064a576040805162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f727265637400604482015290519081900360640190fd5b60005b818110156106c557600154604080516335313c2160e11b815233600482015290516001600160a01b0390921691636a6278429160248082019260009290919082900301818387803b1580156106a157600080fd5b505af11580156106b5573d6000803e3d6000fd5b50506001909201915061064d9050565b506106cf34610dbf565b50565b606481565b60035481565b6106e5610fce565b6001600160a01b03166106f6610be5565b6001600160a01b03161461073f576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b61074c600482600361102f565b5050565b610758610fce565b6001600160a01b0316610769610be5565b6001600160a01b0316146107b2576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6002546064906107c29083610d05565b1115610810576040805162461bcd60e51b8152602060048201526018602482015277457863656564656420676976656177617920737570706c7960401b604482015290519081900360640190fd5b60005b8181101561074c576001546001600160a01b0316636a627842610834610be5565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561087357600080fd5b505af1158015610887573d6000803e3d6000fd5b505060025461089a925090506001610d05565b600255600101610813565b61271081565b600481600381106108b857fe5b01546001600160a01b0316905081565b6108d0610fce565b6001600160a01b03166108e1610be5565b6001600160a01b03161461092a576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b60025460649061093a9083610d05565b1115610988576040805162461bcd60e51b8152602060048201526018602482015277457863656564656420676976656177617920737570706c7960401b604482015290519081900360640190fd5b60005b81811015610a31576001546001600160a01b0316636a6278428484848181106109b057fe5b905060200201356001600160a01b03166040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156109ff57600080fd5b505af1158015610a13573d6000803e3d6000fd5b5050600254610a26925090506001610d05565b60025560010161098b565b505050565b610a3e610fce565b6001600160a01b0316610a4f610be5565b6001600160a01b031614610a98576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610aea610fce565b6001600160a01b0316610afb610be5565b6001600160a01b031614610b44576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6040516000906001600160a01b0383169047908381818185875af1925050503d8060008114610b8f576040519150601f19603f3d011682016040523d82523d6000602084013e610b94565b606091505b505090508061074c5760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b60025481565b666a94d74f43000081565b6000546001600160a01b031690565b6001546001600160a01b031681565b610c0b610fce565b6001600160a01b0316610c1c610be5565b6001600160a01b031614610c65576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6001600160a01b038116610caa5760405162461bcd60e51b815260040180806020018281038252602681526020018061109d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610d5f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082610d7557506000610405565b82820282848281610d8257fe5b0414610d5f5760405162461bcd60e51b81526004018080602001828103825260218152602001806110eb6021913960400191505060405180910390fd5b6000610dcc8260026103a2565b90506000610df16064610deb601e610de58760026103a2565b90610d66565b906103a2565b90506000610e0982610e038686610fd2565b90610fd2565b9050600060048101546040516001600160a01b03909116908590600081818185875af1925050503d8060008114610e5c576040519150601f19603f3d011682016040523d82523d6000602084013e610e61565b606091505b5050905080610ea15760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b6005546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610eee576040519150601f19603f3d011682016040523d82523d6000602084013e610ef3565b606091505b5050905080610f335760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b6005546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc55760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b50505050505050565b3390565b600082821115611029576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8260038101928215611077579160200282015b8281111561107757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611042565b50611083929150611087565b5090565b5b80821115611083576000815560010161108856fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737366756e64732077657265206e6f742073656e742070726f7065726c7920746f207472656173757279536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212205451a5f38f9c5c3f050644fe9022d07db58d7ccea9744a147be7063c28b3ad2a64736f6c634300070300330000000000000000000000004840f2182109539acbfef535bb6dea2d560b9d70000000000000000000000000ed08a7b68de24d7303277cee8f9f82aae12c34e1000000000000000000000000086fec4a44fdba71565129d7c2e2e16d52b1f54d0000000000000000000000003897f60f53e5e4f4903e8061dab489e81b51608a000000000000000000000000000000000000000000000000000000006126bd56
Deployed Bytecode
0x6080604052600436106100ec5760003560e01c8063715018a61161008a5780638da5cb5b116100595780638da5cb5b14610328578063926427441461033d578063e18c4db81461035a578063f2fde38b1461036f57610112565b8063715018a6146102b657806389d4dafd146102cb5780638a3f1bb5146102fe5780638d859f3e1461031357610112565b80632485e526116100c65780632485e526146101b457806332cb6b0c146101de5780634c5430a0146101f35780635607634c1461023957610112565b806311e816c214610117578063144b70911461013e578063186250651461015357610112565b3661011257600061010434666a94d74f4300006103a2565b905061010f8161040b565b50005b600080fd5b34801561012357600080fd5b5061012c6106d2565b60408051918252519081900360200190f35b34801561014a57600080fd5b5061012c6106d7565b34801561015f57600080fd5b506101b26004803603606081101561017657600080fd5b81019080806060019060038060200260405190810160405280929190826003602002808284376000920191909152509194506106dd9350505050565b005b3480156101c057600080fd5b506101b2600480360360208110156101d757600080fd5b5035610750565b3480156101ea57600080fd5b5061012c6108a5565b3480156101ff57600080fd5b5061021d6004803603602081101561021657600080fd5b50356108ab565b604080516001600160a01b039092168252519081900360200190f35b34801561024557600080fd5b506101b26004803603602081101561025c57600080fd5b81019060208101813564010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460208302840111640100000000831117156102ab57600080fd5b5090925090506108c8565b3480156102c257600080fd5b506101b2610a36565b3480156102d757600080fd5b506101b2600480360360208110156102ee57600080fd5b50356001600160a01b0316610ae2565b34801561030a57600080fd5b5061012c610bd4565b34801561031f57600080fd5b5061012c610bda565b34801561033457600080fd5b5061021d610be5565b6101b26004803603602081101561035357600080fd5b503561040b565b34801561036657600080fd5b5061021d610bf4565b34801561037b57600080fd5b506101b26004803603602081101561039257600080fd5b50356001600160a01b0316610c03565b60008082116103f8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161040157fe5b0490505b92915050565b600354421015610459576040805162461bcd60e51b815260206004820152601460248201527314d85b19481a185cc81b9bdd081cdd185c9d195960621b604482015290519081900360640190fd5b600154604080516318160ddd60e01b81529051612710926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561049f57600080fd5b505afa1580156104b3573d6000803e3d6000fd5b505050506040513d60208110156104c957600080fd5b50511115610517576040805162461bcd60e51b815260206004820152601660248201527514d85b19481a185cc8185b1c9958591e48195b99195960521b604482015290519081900360640190fd5b61271061059e82600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056c57600080fd5b505afa158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b505190610d05565b11156105e6576040805162461bcd60e51b815260206004820152601260248201527145786365656473204d41585f535550504c5960701b604482015290519081900360640190fd5b346105f8666a94d74f43000083610d66565b1461064a576040805162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f727265637400604482015290519081900360640190fd5b60005b818110156106c557600154604080516335313c2160e11b815233600482015290516001600160a01b0390921691636a6278429160248082019260009290919082900301818387803b1580156106a157600080fd5b505af11580156106b5573d6000803e3d6000fd5b50506001909201915061064d9050565b506106cf34610dbf565b50565b606481565b60035481565b6106e5610fce565b6001600160a01b03166106f6610be5565b6001600160a01b03161461073f576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b61074c600482600361102f565b5050565b610758610fce565b6001600160a01b0316610769610be5565b6001600160a01b0316146107b2576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6002546064906107c29083610d05565b1115610810576040805162461bcd60e51b8152602060048201526018602482015277457863656564656420676976656177617920737570706c7960401b604482015290519081900360640190fd5b60005b8181101561074c576001546001600160a01b0316636a627842610834610be5565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561087357600080fd5b505af1158015610887573d6000803e3d6000fd5b505060025461089a925090506001610d05565b600255600101610813565b61271081565b600481600381106108b857fe5b01546001600160a01b0316905081565b6108d0610fce565b6001600160a01b03166108e1610be5565b6001600160a01b03161461092a576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b60025460649061093a9083610d05565b1115610988576040805162461bcd60e51b8152602060048201526018602482015277457863656564656420676976656177617920737570706c7960401b604482015290519081900360640190fd5b60005b81811015610a31576001546001600160a01b0316636a6278428484848181106109b057fe5b905060200201356001600160a01b03166040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156109ff57600080fd5b505af1158015610a13573d6000803e3d6000fd5b5050600254610a26925090506001610d05565b60025560010161098b565b505050565b610a3e610fce565b6001600160a01b0316610a4f610be5565b6001600160a01b031614610a98576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610aea610fce565b6001600160a01b0316610afb610be5565b6001600160a01b031614610b44576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6040516000906001600160a01b0383169047908381818185875af1925050503d8060008114610b8f576040519150601f19603f3d011682016040523d82523d6000602084013e610b94565b606091505b505090508061074c5760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b60025481565b666a94d74f43000081565b6000546001600160a01b031690565b6001546001600160a01b031681565b610c0b610fce565b6001600160a01b0316610c1c610be5565b6001600160a01b031614610c65576040805162461bcd60e51b8152602060048201819052602482015260008051602061110c833981519152604482015290519081900360640190fd5b6001600160a01b038116610caa5760405162461bcd60e51b815260040180806020018281038252602681526020018061109d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610d5f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082610d7557506000610405565b82820282848281610d8257fe5b0414610d5f5760405162461bcd60e51b81526004018080602001828103825260218152602001806110eb6021913960400191505060405180910390fd5b6000610dcc8260026103a2565b90506000610df16064610deb601e610de58760026103a2565b90610d66565b906103a2565b90506000610e0982610e038686610fd2565b90610fd2565b9050600060048101546040516001600160a01b03909116908590600081818185875af1925050503d8060008114610e5c576040519150601f19603f3d011682016040523d82523d6000602084013e610e61565b606091505b5050905080610ea15760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b6005546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610eee576040519150601f19603f3d011682016040523d82523d6000602084013e610ef3565b606091505b5050905080610f335760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b6005546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc55760405162461bcd60e51b81526004018080602001828103825260288152602001806110c36028913960400191505060405180910390fd5b50505050505050565b3390565b600082821115611029576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8260038101928215611077579160200282015b8281111561107757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611042565b50611083929150611087565b5090565b5b80821115611083576000815560010161108856fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737366756e64732077657265206e6f742073656e742070726f7065726c7920746f207472656173757279536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212205451a5f38f9c5c3f050644fe9022d07db58d7ccea9744a147be7063c28b3ad2a64736f6c63430007030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004840f2182109539acbfef535bb6dea2d560b9d70000000000000000000000000ed08a7b68de24d7303277cee8f9f82aae12c34e1000000000000000000000000086fec4a44fdba71565129d7c2e2e16d52b1f54d0000000000000000000000003897f60f53e5e4f4903e8061dab489e81b51608a000000000000000000000000000000000000000000000000000000006126bd56
-----Decoded View---------------
Arg [0] : _evilTeddyBear (address): 0x4840f2182109539aCbfef535BB6dEA2D560b9D70
Arg [1] : _treasury (address[3]): 0xED08a7b68de24d7303277cEE8F9F82aAe12c34E1,0x086FeC4a44Fdba71565129d7c2E2e16D52b1F54d,0x3897F60F53e5E4f4903e8061Dab489e81B51608a
Arg [2] : _beginningOfSale (uint256): 1629928790
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000004840f2182109539acbfef535bb6dea2d560b9d70
Arg [1] : 000000000000000000000000ed08a7b68de24d7303277cee8f9f82aae12c34e1
Arg [2] : 000000000000000000000000086fec4a44fdba71565129d7c2e2e16d52b1f54d
Arg [3] : 0000000000000000000000003897f60f53e5e4f4903e8061dab489e81b51608a
Arg [4] : 000000000000000000000000000000000000000000000000000000006126bd56
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.