More Info
Private Name Tags
ContractCreator
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Redeem Nft | 12513086 | 1372 days ago | IN | 0 ETH | 0.00303448 | ||||
Redeem Nft | 12386432 | 1391 days ago | IN | 0 ETH | 0.00413739 | ||||
Redeem Nft | 12383453 | 1392 days ago | IN | 0 ETH | 0.0047816 | ||||
Redeem Nft | 12380192 | 1392 days ago | IN | 0 ETH | 0.00321755 | ||||
Redeem Nft | 12377694 | 1393 days ago | IN | 0 ETH | 0.00424772 | ||||
Redeem Nft | 12377209 | 1393 days ago | IN | 0 ETH | 0.00496551 | ||||
Redeem Nft | 12373976 | 1393 days ago | IN | 0 ETH | 0.00248275 | ||||
Redeem Nft | 12372211 | 1394 days ago | IN | 0 ETH | 0.00275862 | ||||
Redeem Nft | 12372103 | 1394 days ago | IN | 0 ETH | 0.0035862 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xde03b1B0...626d82638 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
NftDrop
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-05 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; interface IERC1155 { function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes calldata data ) external; } contract NftDrop { address public owner; address public nftAddress; uint256 public nftTokenId; mapping(address => bool) redemptions; bytes4 immutable onErc1155SuccessfulResult = bytes4( keccak256( "onERC1155Received(address,address,uint256,uint256,bytes)" ) ); event WithdrawArt(address withdrawnTo); modifier onlyOwner() { require(msg.sender == owner, "must be owner"); _; } constructor(address _nftAddress, uint256 _nftTokenId) public { owner = msg.sender; nftAddress = _nftAddress; nftTokenId = _nftTokenId; } function redeemNft( address address1, bytes32 r, bytes32 s, uint8 v ) public { require( (getSigner(address1, r, s, v) == owner), "must be signed by owner" ); require(!hasReedeemed(address1), "already redeemed"); redemptions[address1] = true; IERC1155(nftAddress).safeTransferFrom( address(this), address1, nftTokenId, 1, "" ); emit WithdrawArt(address1); } function getSigner( address aCustomAddress, bytes32 r, bytes32 s, uint8 v ) public pure returns (address) { bytes memory prefix = "\x19Ethereum Signed Message:\n32"; bytes32 hash = keccak256(abi.encodePacked(aCustomAddress)); bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, hash)); return ecrecover(prefixedHash, v, r, s); } function hasReedeemed(address address1) public view returns (bool) { return redemptions[address1]; } function emergencyExecute( address targetAddress, bytes memory targetCallData ) public onlyOwner returns (bool) { (bool success, ) = targetAddress.call(targetCallData); return success; } function supportsInterface(bytes4 interfaceID) external pure returns (bool) { return interfaceID == 0x01ffc9a7 || interfaceID == 0x4e2312e0; } function onERC1155Received( address operator, address from, uint256 id, uint256 value, bytes calldata data ) external returns (bytes4) { return onErc1155SuccessfulResult; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_nftAddress","type":"address"},{"internalType":"uint256","name":"_nftTokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"withdrawnTo","type":"address"}],"name":"WithdrawArt","type":"event"},{"inputs":[{"internalType":"address","name":"targetAddress","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}],"name":"emergencyExecute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"aCustomAddress","type":"address"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"name":"getSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"address1","type":"address"}],"name":"hasReedeemed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address1","type":"address"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"name":"redeemNft","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a0321a5311610066578063a0321a5314610181578063c7ce46c814610272578063ee34b90d14610301578063f23a6e6114610366578063f84cce101461046657610093565b806301ffc9a7146100985780635bf8633a146100fb5780637e8305741461012f5780638da5cb5b1461014d575b600080fd5b6100e3600480360360208110156100ae57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506104c0565b60405180821515815260200191505060405180910390f35b610103610522565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610137610548565b6040518082815260200191505060405180910390f35b61015561054e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025a6004803603604081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101d457600080fd5b8201836020820111156101e657600080fd5b8035906020019184600183028401116401000000008311171561020857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610572565b60405180821515815260200191505060405180910390f35b6102d56004803603608081101561028857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291905050506106f8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103646004803603608081101561031757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190505050610867565b005b610431600480360360a081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156103ed57600080fd5b8201836020820111156103ff57600080fd5b8035906020019184600183028401116401000000008311171561042157600080fd5b9091929391929390505050610b42565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104a86004803603602081101561047c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b71565b60405180821515815260200191505060405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061051b5750634e2312e060e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6d757374206265206f776e65720000000000000000000000000000000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106106835780518252602082019150602081019050602083039250610660565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106e5576040519150601f19603f3d011682016040523d82523d6000602084013e6106ea565b606091505b505090508091505092915050565b600060606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600086604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401915050604051602081830303815290604052805190602001209050600082826040516020018083805190602001908083835b602083106107b2578051825260208201915060208101905060208303925061078f565b6001836020036101000a0380198251168184511680821785525050505050509050018281526020019250505060405160208183030381529060405280519060200120905060018186898960405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610850573d6000803e3d6000fd5b505050602060405103519350505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108aa858585856106f8565b73ffffffffffffffffffffffffffffffffffffffff1614610933576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6d757374206265207369676e6564206279206f776e657200000000000000000081525060200191505060405180910390fd5b61093c84610b71565b156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f616c72656164792072656465656d65640000000000000000000000000000000081525060200191505060405180910390fd5b6001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a308660025460016040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020018060200182810382526000815260200160200195505050505050600060405180830381600087803b158015610ad757600080fd5b505af1158015610aeb573d6000803e3d6000fd5b505050507f0a56db6b906214ad231ce1e77df1372e174617347cf66d946c52d7809a1e3c4a84604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b60007ff23a6e610000000000000000000000000000000000000000000000000000000090509695505050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905091905056fea2646970667358221220d88ddc04d98a5ad5af41c53ac51c302f1963c43922b826046b4b970edb3b9c6d64736f6c634300060c0033
Deployed Bytecode Sourcemap
255:2467:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2287:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;306:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;338;;;:::i;:::-;;;;;;;;;;;;;;;;;;;279:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1501:416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;935:558;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2483:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;1925:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2287:188;2384:4;2428:10;2413:25;;:11;:25;;;;:54;;;;2457:10;2442:25;;:11;:25;;;;2413:54;2406:61;;2287:188;;;:::o;306:25::-;;;;;;;;;;;;;:::o;338:::-;;;;:::o;279:20::-;;;;;;;;;;;;:::o;2047:232::-;2176:4;708:5;;;;;;;;;;;694:19;;:10;:19;;;686:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2194:12:::1;2212:13;:18;;2231:14;2212:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2193:53;;;2264:7;2257:14;;;2047:232:::0;;;;:::o;1501:416::-;1639:7;1659:19;:56;;;;;;;;;;;;;;;;;;;1726:12;1768:14;1751:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1741:43;;;;;;1726:58;;1795:20;1845:6;1853:4;1828:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1818:41;;;;;;1795:64;;1877:32;1887:12;1901:1;1904;1907;1877:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1870:39;;;;;1501:416;;;;;;:::o;935:558::-;1119:5;;;;;;;;;;1087:37;;:28;1097:8;1107:1;1110;1113;1087:9;:28::i;:::-;:37;;;1064:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1196:22;1209:8;1196:12;:22::i;:::-;1195:23;1187:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1276:4;1252:11;:21;1264:8;1252:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1300:10;;;;;;;;;;;1291:37;;;1351:4;1371:8;1394:10;;1419:1;1291:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:21;1476:8;1464:21;;;;;;;;;;;;;;;;;;;;935:558;;;;:::o;2483:236::-;2660:6;2686:25;2679:32;;2483:236;;;;;;;;:::o;1925:114::-;1986:4;2010:11;:21;2022:8;2010:21;;;;;;;;;;;;;;;;;;;;;;;;;2003:28;;1925:114;;;:::o
Swarm Source
ipfs://d88ddc04d98a5ad5af41c53ac51c302f1963c43922b826046b4b970edb3b9c6d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.