Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Loading...
Loading
Minimal Proxy Contract for 0xbd1b37ed9b996767082036a489e36830cc2153e4
Contract Name:
subContract
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-08 */ // SPDX-License-Identifier: MIT // https://github.com/jungleninja/contract-minter pragma solidity ^0.8.13; interface IERC721 { function safeTransferFrom(address from, address to, uint256 tokenId) external; function balanceOf(address owner) external view returns (uint256 balance); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); } contract subContract{ address public deployer; address public mainContract; bool public isInitialized; modifier onlyDeployer() { require(tx.origin == deployer && msg.sender == mainContract, "only deployer"); _; } function initializeC() external { require(!isInitialized, "already initialized"); deployer = tx.origin; mainContract = msg.sender; isInitialized = true; } function callData(address _addr, bytes calldata _data) external payable onlyDeployer returns (bytes memory) { (bool success, bytes memory result) = _addr.call{value: msg.value}(_data); require(success, "call failed"); return result; } function transferAllto(address _addr, address _to) external onlyDeployer { uint256 balance = IERC721(_addr).balanceOf(address(this)); while(balance > 0){ IERC721(_addr).safeTransferFrom(address(this), _to, IERC721(_addr).tokenOfOwnerByIndex(address(this), 0)); balance--; } } function transferAlltoV2(address _addr, address _to, uint256[] memory _tokenIds) external onlyDeployer { for(uint256 i = 0; i < _tokenIds.length; i++){ IERC721(_addr).safeTransferFrom(address(this), _to, _tokenIds[i]); } } function withdrawETH() external onlyDeployer { payable(deployer).transfer(address(this).balance); } function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4) { return bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")); } function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes calldata data) external returns (bytes4) { return bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)")); } function onERC1155BatchReceived(address operator, address from, uint256[] calldata ids, uint256[] calldata values, bytes calldata data) external returns (bytes4) { return bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")); } }
[{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"callData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initializeC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","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":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferAllto","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"transferAlltoV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.