Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint With Number... | 13181556 | 1203 days ago | IN | 0.07 ETH | 0.00345126 | ||||
Mint With Number... | 13181434 | 1203 days ago | IN | 0.07 ETH | 0.00358241 | ||||
Mint With Number... | 13180537 | 1203 days ago | IN | 0.14 ETH | 0.0079892 | ||||
Mint With Number... | 13180461 | 1203 days ago | IN | 0.14 ETH | 0.04106 | ||||
Reclaim Nft Toke... | 13176688 | 1204 days ago | IN | 0 ETH | 0.00704459 | ||||
Mint With Number... | 13173435 | 1204 days ago | IN | 0.14 ETH | 0.01486065 | ||||
Mint With Number... | 13173415 | 1204 days ago | IN | 0.14 ETH | 0.02664126 | ||||
Mint With Number... | 13172299 | 1205 days ago | IN | 0.14 ETH | 0.00364739 |
Loading...
Loading
Contract Name:
Contract
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-06 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.7; // Part: Chips interface Chips { function mintChip(uint256 amount) external payable; function mintTokens(uint256 count) external payable; function mintChip() external payable; } // Part: Context /** * @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; } } // Part: IERC20 interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } // Part: IERC721 interface IERC721 { function transferFrom(address _from, address _to, uint256 _tokenId) external payable; } // Part: IERC721Receiver /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } // Part: Ownable /** * @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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: Contract.sol contract Contract is IERC721Receiver, Ownable { // Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector` bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; constructor() { } function mintWithNumberPerCall(Chips target, uint numberOfCalls, uint numberPerCall) payable public { require(msg.value % numberOfCalls == 0, "Division error"); uint256 perCallValue = msg.value / numberOfCalls; for (uint p = 0; p < numberOfCalls; p++) { target.mintTokens{value: perCallValue}(numberPerCall); } } function mint(Chips target, uint numberOfCalls) payable public { require(msg.value % numberOfCalls == 0, "Division error"); uint256 perCallValue = msg.value / numberOfCalls; for (uint p = 0; p < numberOfCalls; p++) { target.mintChip{value: perCallValue}(); } } /** * @dev Withdraw ether from the contract */ function withdraw() onlyOwner public { uint balance = address(this).balance; payable(msg.sender).transfer(balance); } // reclaim accidentally sent tokens function reclaimToken(IERC20 token, uint256 tokenAmount) public onlyOwner { require(address(token) != address(0)); token.transfer(msg.sender, tokenAmount); } // reclaim accidentally sent tokens function reclaimNftToken(IERC721 token, uint256 tokenId) public onlyOwner { require(address(token) != address(0)); token.transferFrom(address(this), msg.sender, tokenId); } function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data) override external pure returns (bytes4) { return _ERC721_RECEIVED; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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":[{"internalType":"contract Chips","name":"target","type":"address"},{"internalType":"uint256","name":"numberOfCalls","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"contract Chips","name":"target","type":"address"},{"internalType":"uint256","name":"numberOfCalls","type":"uint256"},{"internalType":"uint256","name":"numberPerCall","type":"uint256"}],"name":"mintWithNumberPerCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC721","name":"token","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"reclaimNftToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"reclaimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6108718061007e6000396000f3fe6080604052600436106100865760003560e01c8063715018a611610059578063715018a61461011f57806381d3c60d146101345780638517a37f146101475780638da5cb5b14610167578063f2fde38b1461018f57600080fd5b8063150b7a021461008b5780633ccfd60b146100d557806340c10f19146100ec57806361ce3529146100ff575b600080fd5b34801561009757600080fd5b506100b76100a6366004610668565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e157600080fd5b506100ea6101af565b005b6100ea6100fa366004610729565b610215565b34801561010b57600080fd5b506100ea61011a366004610729565b6102e3565b34801561012b57600080fd5b506100ea6103a5565b6100ea610142366004610755565b6103db565b34801561015357600080fd5b506100ea610162366004610729565b6104b2565b34801561017357600080fd5b506000546040516001600160a01b0390911681526020016100cc565b34801561019b57600080fd5b506100ea6101aa366004610644565b610559565b6000546001600160a01b031633146101e25760405162461bcd60e51b81526004016101d99061078a565b60405180910390fd5b6040514790339082156108fc029083906000818181858888f19350505050158015610211573d6000803e3d6000fd5b5050565b61021f81346107fc565b1561025d5760405162461bcd60e51b815260206004820152600e60248201526d2234bb34b9b4b7b71032b93937b960911b60448201526064016101d9565b600061026982346107bf565b905060005b828110156102dd57836001600160a01b0316639e6b7af3836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b505050505080806102d5906107d3565b91505061026e565b50505050565b6000546001600160a01b0316331461030d5760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b03821661032057600080fd5b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b15801561036857600080fd5b505af115801561037c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a09190610707565b505050565b6000546001600160a01b031633146103cf5760405162461bcd60e51b81526004016101d99061078a565b6103d960006105f4565b565b6103e582346107fc565b156104235760405162461bcd60e51b815260206004820152600e60248201526d2234bb34b9b4b7b71032b93937b960911b60448201526064016101d9565b600061042f83346107bf565b905060005b838110156104ab576040516397304ced60e01b8152600481018490526001600160a01b038616906397304ced9084906024016000604051808303818588803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b505050505080806104a3906107d3565b915050610434565b5050505050565b6000546001600160a01b031633146104dc5760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b0382166104ef57600080fd5b6040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038316906323b872dd90606401600060405180830381600087803b15801561053d57600080fd5b505af1158015610551573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146105835760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b0381166105e85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d9565b6105f1816105f4565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561065657600080fd5b813561066181610826565b9392505050565b60008060008060006080868803121561068057600080fd5b853561068b81610826565b9450602086013561069b81610826565b935060408601359250606086013567ffffffffffffffff808211156106bf57600080fd5b818801915088601f8301126106d357600080fd5b8135818111156106e257600080fd5b8960208285010111156106f457600080fd5b9699959850939650602001949392505050565b60006020828403121561071957600080fd5b8151801515811461066157600080fd5b6000806040838503121561073c57600080fd5b823561074781610826565b946020939093013593505050565b60008060006060848603121561076a57600080fd5b833561077581610826565b95602085013595506040909401359392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000826107ce576107ce610810565b500490565b60006000198214156107f557634e487b7160e01b600052601160045260246000fd5b5060010190565b60008261080b5761080b610810565b500690565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03811681146105f157600080fdfea2646970667358221220119a6f2cd059e7686767c49992e8b645f29dcc568ae24064a238bf045b162c5164736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100865760003560e01c8063715018a611610059578063715018a61461011f57806381d3c60d146101345780638517a37f146101475780638da5cb5b14610167578063f2fde38b1461018f57600080fd5b8063150b7a021461008b5780633ccfd60b146100d557806340c10f19146100ec57806361ce3529146100ff575b600080fd5b34801561009757600080fd5b506100b76100a6366004610668565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e157600080fd5b506100ea6101af565b005b6100ea6100fa366004610729565b610215565b34801561010b57600080fd5b506100ea61011a366004610729565b6102e3565b34801561012b57600080fd5b506100ea6103a5565b6100ea610142366004610755565b6103db565b34801561015357600080fd5b506100ea610162366004610729565b6104b2565b34801561017357600080fd5b506000546040516001600160a01b0390911681526020016100cc565b34801561019b57600080fd5b506100ea6101aa366004610644565b610559565b6000546001600160a01b031633146101e25760405162461bcd60e51b81526004016101d99061078a565b60405180910390fd5b6040514790339082156108fc029083906000818181858888f19350505050158015610211573d6000803e3d6000fd5b5050565b61021f81346107fc565b1561025d5760405162461bcd60e51b815260206004820152600e60248201526d2234bb34b9b4b7b71032b93937b960911b60448201526064016101d9565b600061026982346107bf565b905060005b828110156102dd57836001600160a01b0316639e6b7af3836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102b157600080fd5b505af11580156102c5573d6000803e3d6000fd5b505050505080806102d5906107d3565b91505061026e565b50505050565b6000546001600160a01b0316331461030d5760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b03821661032057600080fd5b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b15801561036857600080fd5b505af115801561037c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a09190610707565b505050565b6000546001600160a01b031633146103cf5760405162461bcd60e51b81526004016101d99061078a565b6103d960006105f4565b565b6103e582346107fc565b156104235760405162461bcd60e51b815260206004820152600e60248201526d2234bb34b9b4b7b71032b93937b960911b60448201526064016101d9565b600061042f83346107bf565b905060005b838110156104ab576040516397304ced60e01b8152600481018490526001600160a01b038616906397304ced9084906024016000604051808303818588803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b505050505080806104a3906107d3565b915050610434565b5050505050565b6000546001600160a01b031633146104dc5760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b0382166104ef57600080fd5b6040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038316906323b872dd90606401600060405180830381600087803b15801561053d57600080fd5b505af1158015610551573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146105835760405162461bcd60e51b81526004016101d99061078a565b6001600160a01b0381166105e85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d9565b6105f1816105f4565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561065657600080fd5b813561066181610826565b9392505050565b60008060008060006080868803121561068057600080fd5b853561068b81610826565b9450602086013561069b81610826565b935060408601359250606086013567ffffffffffffffff808211156106bf57600080fd5b818801915088601f8301126106d357600080fd5b8135818111156106e257600080fd5b8960208285010111156106f457600080fd5b9699959850939650602001949392505050565b60006020828403121561071957600080fd5b8151801515811461066157600080fd5b6000806040838503121561073c57600080fd5b823561074781610826565b946020939093013593505050565b60008060006060848603121561076a57600080fd5b833561077581610826565b95602085013595506040909401359392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000826107ce576107ce610810565b500490565b60006000198214156107f557634e487b7160e01b600052601160045260246000fd5b5060010190565b60008261080b5761080b610810565b500690565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03811681146105f157600080fdfea2646970667358221220119a6f2cd059e7686767c49992e8b645f29dcc568ae24064a238bf045b162c5164736f6c63430008070033
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.