Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 15743237 | 652 days ago | IN | 0 ETH | 0.00409806 |
Loading...
Loading
Contract Name:
ownerOfSnapshot
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-14 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // Easy Snapshotting of ERC721 Owners // Author: 0xInuarashi // https://twitter.com/0xInuarashi || 0xInuarashi#1234 // Product of CypherLabz // https://twitter.com/CypherLabz interface IERC721 { function ownerOf(uint256 tokenId_) external view returns (address); } contract ownerOfSnapshot { /** @dev Explanation: * _tryOwnerOf is a try-catch method of ownerOf that returns address(0) on failure */ function _tryOwnerOf(address contract_, uint256 tokenId_) internal view returns (address) { address _owner; try IERC721(contract_).ownerOf(tokenId_) returns (address owner_) { _owner = owner_; } catch { _owner = address(0); } return _owner; } /** @dev Explanation: * snapshotOwnerOf will return an array of all the addresses of owners of the * tokens queried */ function snapshotOwnerOf(address contract_, uint256[] calldata tokenIds_) external view returns (address[] memory) { uint256 l = tokenIds_.length; address[] memory _addresses = new address[] (l); uint256 i; unchecked { do { _addresses[i] = _tryOwnerOf(contract_, tokenIds_[i]); } while (++i < l); } return _addresses; } /** @dev Explanation: * snapshotTokensAreMinted will return a bool array of the minted state of * all tokens queried */ function snapshotTokensAreMinted(address contract_, uint256[] calldata tokenIds_) external view returns (bool[] memory) { uint256 l = tokenIds_.length; bool[] memory _tokensAreMinted = new bool[] (l); uint256 i; unchecked { do { _tokensAreMinted[i] = _tryOwnerOf(contract_, tokenIds_[i]) != address(0); } while (++i < l); } return _tokensAreMinted; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"contract_","type":"address"},{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"snapshotOwnerOf","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contract_","type":"address"},{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"snapshotTokensAreMinted","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610408806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806324d3b07a1461003b57806355d4b2db14610064575b600080fd5b61004e61004936600461027f565b610084565b60405161005b9190610307565b60405180910390f35b61007761007236600461027f565b610131565b60405161005b9190610354565b60608160008167ffffffffffffffff8111156100a2576100a26103a4565b6040519080825280602002602001820160405280156100cb578160200160208202803683370190505b50905060005b6100f3878787848181106100e7576100e761038e565b905060200201356101d7565b8282815181106101055761010561038e565b6001600160a01b03909216602092830291909101909101526001018281106100d1575095945050505050565b60608160008167ffffffffffffffff81111561014f5761014f6103a4565b604051908082528060200260200182016040528015610178578160200160208202803683370190505b50905060005b6000610196888888858181106100e7576100e761038e565b6001600160a01b031614158282815181106101b3576101b361038e565b9115156020928302919091019091015260010182811061017e575095945050505050565b6040516331a9108f60e11b81526004810182905260009081906001600160a01b03851690636352211e9060240160206040518083038186803b15801561021c57600080fd5b505afa92505050801561024c575060408051601f3d908101601f1916820190925261024991810190610262565b60015b6102585750600061025b565b90505b9392505050565b60006020828403121561027457600080fd5b815161025b816103ba565b60008060006040848603121561029457600080fd5b833561029f816103ba565b9250602084013567ffffffffffffffff808211156102bc57600080fd5b818601915086601f8301126102d057600080fd5b8135818111156102df57600080fd5b8760208260051b85010111156102f457600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b818110156103485783516001600160a01b031683529284019291840191600101610323565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610348578351151583529284019291840191600101610370565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146103cf57600080fd5b5056fea26469706673582212201f4f4fe2ad621411ce398b5bfa2b6b9127d46c74608a2454146169cce41cff5964736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c806324d3b07a1461003b57806355d4b2db14610064575b600080fd5b61004e61004936600461027f565b610084565b60405161005b9190610307565b60405180910390f35b61007761007236600461027f565b610131565b60405161005b9190610354565b60608160008167ffffffffffffffff8111156100a2576100a26103a4565b6040519080825280602002602001820160405280156100cb578160200160208202803683370190505b50905060005b6100f3878787848181106100e7576100e761038e565b905060200201356101d7565b8282815181106101055761010561038e565b6001600160a01b03909216602092830291909101909101526001018281106100d1575095945050505050565b60608160008167ffffffffffffffff81111561014f5761014f6103a4565b604051908082528060200260200182016040528015610178578160200160208202803683370190505b50905060005b6000610196888888858181106100e7576100e761038e565b6001600160a01b031614158282815181106101b3576101b361038e565b9115156020928302919091019091015260010182811061017e575095945050505050565b6040516331a9108f60e11b81526004810182905260009081906001600160a01b03851690636352211e9060240160206040518083038186803b15801561021c57600080fd5b505afa92505050801561024c575060408051601f3d908101601f1916820190925261024991810190610262565b60015b6102585750600061025b565b90505b9392505050565b60006020828403121561027457600080fd5b815161025b816103ba565b60008060006040848603121561029457600080fd5b833561029f816103ba565b9250602084013567ffffffffffffffff808211156102bc57600080fd5b818601915086601f8301126102d057600080fd5b8135818111156102df57600080fd5b8760208260051b85010111156102f457600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b818110156103485783516001600160a01b031683529284019291840191600101610323565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610348578351151583529284019291840191600101610370565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146103cf57600080fd5b5056fea26469706673582212201f4f4fe2ad621411ce398b5bfa2b6b9127d46c74608a2454146169cce41cff5964736f6c63430008070033
Deployed Bytecode Sourcemap
346:1604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;989:387;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1529:418;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;989:387::-;1091:16;1132:9;1120;1132;1189:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1189:17:0;;1159:47;;1217:9;1240:99;1274:36;1286:9;1297;;1307:1;1297:12;;;;;;;:::i;:::-;;;;;;;1274:11;:36::i;:::-;1258:10;1269:1;1258:13;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1258:52:0;;;:13;;;;;;;;;;;:52;1330:3;;:7;;;1240:99;;-1:-1:-1;1358:10:0;989:387;-1:-1:-1;;;;;989:387:0:o;1529:418::-;1639:13;1677:9;1665;1677;1737:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1737:14:0;;1704:47;;1762:9;1785:119;1873:1;1825:36;1837:9;1848;;1858:1;1848:12;;;;;;;:::i;1825:36::-;-1:-1:-1;;;;;1825:50:0;;;1803:16;1820:1;1803:19;;;;;;;;:::i;:::-;:72;;;:19;;;;;;;;;;;:72;1895:3;;:7;;;1785:119;;-1:-1:-1;1923:16:0;1529:418;-1:-1:-1;;;;;1529:418:0:o;504:332::-;639:36;;-1:-1:-1;;;639:36:0;;;;;2481:25:1;;;590:7:0;;;;-1:-1:-1;;;;;639:26:0;;;;;2454:18:1;;639:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;639:36:0;;;;;;;;-1:-1:-1;;639:36:0;;;;;;;;;;;;:::i;:::-;;;635:170;;-1:-1:-1;791:1:0;635:170;;;725:6;-1:-1:-1;635:170:0;822:6;504:332;-1:-1:-1;;;504:332:0:o;14:251:1:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;185:9;179:16;204:31;229:5;204:31;:::i;270:750::-;365:6;373;381;434:2;422:9;413:7;409:23;405:32;402:52;;;450:1;447;440:12;402:52;489:9;476:23;508:31;533:5;508:31;:::i;:::-;558:5;-1:-1:-1;614:2:1;599:18;;586:32;637:18;667:14;;;664:34;;;694:1;691;684:12;664:34;732:6;721:9;717:22;707:32;;777:7;770:4;766:2;762:13;758:27;748:55;;799:1;796;789:12;748:55;839:2;826:16;865:2;857:6;854:14;851:34;;;881:1;878;871:12;851:34;934:7;929:2;919:6;916:1;912:14;908:2;904:23;900:32;897:45;894:65;;;955:1;952;945:12;894:65;986:2;982;978:11;968:21;;1008:6;998:16;;;;;270:750;;;;;:::o;1025:658::-;1196:2;1248:21;;;1318:13;;1221:18;;;1340:22;;;1167:4;;1196:2;1419:15;;;;1393:2;1378:18;;;1167:4;1462:195;1476:6;1473:1;1470:13;1462:195;;;1541:13;;-1:-1:-1;;;;;1537:39:1;1525:52;;1632:15;;;;1597:12;;;;1573:1;1491:9;1462:195;;;-1:-1:-1;1674:3:1;;1025:658;-1:-1:-1;;;;;;1025:658:1:o;1688:642::-;1853:2;1905:21;;;1975:13;;1878:18;;;1997:22;;;1824:4;;1853:2;2076:15;;;;2050:2;2035:18;;;1824:4;2119:185;2133:6;2130:1;2127:13;2119:185;;;2208:13;;2201:21;2194:29;2182:42;;2279:15;;;;2244:12;;;;2155:1;2148:9;2119:185;;2517:127;2578:10;2573:3;2569:20;2566:1;2559:31;2609:4;2606:1;2599:15;2633:4;2630:1;2623:15;2649:127;2710:10;2705:3;2701:20;2698:1;2691:31;2741:4;2738:1;2731:15;2765:4;2762:1;2755:15;2781:131;-1:-1:-1;;;;;2856:31:1;;2846:42;;2836:70;;2902:1;2899;2892:12;2836:70;2781:131;:::o
Swarm Source
ipfs://1f4f4fe2ad621411ce398b5bfa2b6b9127d46c74608a2454146169cce41cff59
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.