|
2 | 2 |
|
3 | 3 | pragma solidity ^0.8.8; |
4 | 4 |
|
5 | | -import { UintUtils } from '../../../utils/UintUtils.sol'; |
6 | | -import { ERC721BaseInternal, ERC721BaseStorage } from '../base/ERC721Base.sol'; |
7 | | -import { ERC721MetadataStorage } from './ERC721MetadataStorage.sol'; |
8 | 5 | import { ERC721MetadataInternal } from './ERC721MetadataInternal.sol'; |
9 | 6 | import { IERC721Metadata } from './IERC721Metadata.sol'; |
10 | 7 |
|
11 | 8 | /** |
12 | 9 | * @title ERC721 metadata extensions |
13 | 10 | */ |
14 | 11 | abstract contract ERC721Metadata is IERC721Metadata, ERC721MetadataInternal { |
15 | | - using ERC721BaseStorage for ERC721BaseStorage.Layout; |
16 | | - using UintUtils for uint256; |
17 | | - |
18 | 12 | /** |
19 | 13 | * @notice inheritdoc IERC721Metadata |
20 | 14 | */ |
21 | | - function name() public view virtual returns (string memory) { |
22 | | - return ERC721MetadataStorage.layout().name; |
| 15 | + function name() external view virtual returns (string memory) { |
| 16 | + return _name(); |
23 | 17 | } |
24 | 18 |
|
25 | 19 | /** |
26 | 20 | * @notice inheritdoc IERC721Metadata |
27 | 21 | */ |
28 | | - function symbol() public view virtual returns (string memory) { |
29 | | - return ERC721MetadataStorage.layout().symbol; |
| 22 | + function symbol() external view virtual returns (string memory) { |
| 23 | + return _symbol(); |
30 | 24 | } |
31 | 25 |
|
32 | 26 | /** |
33 | 27 | * @notice inheritdoc IERC721Metadata |
34 | 28 | */ |
35 | 29 | function tokenURI(uint256 tokenId) |
36 | | - public |
| 30 | + external |
37 | 31 | view |
38 | 32 | virtual |
39 | 33 | returns (string memory) |
40 | 34 | { |
41 | | - if (!ERC721BaseStorage.layout().exists(tokenId)) |
42 | | - revert ERC721Metadata__NonExistentToken(); |
43 | | - |
44 | | - ERC721MetadataStorage.Layout storage l = ERC721MetadataStorage.layout(); |
45 | | - |
46 | | - string memory tokenIdURI = l.tokenURIs[tokenId]; |
47 | | - string memory baseURI = l.baseURI; |
48 | | - |
49 | | - if (bytes(baseURI).length == 0) { |
50 | | - return tokenIdURI; |
51 | | - } else if (bytes(tokenIdURI).length > 0) { |
52 | | - return string(abi.encodePacked(baseURI, tokenIdURI)); |
53 | | - } else { |
54 | | - return string(abi.encodePacked(baseURI, tokenId.toString())); |
55 | | - } |
| 35 | + return _tokenURI(tokenId); |
56 | 36 | } |
57 | 37 |
|
58 | 38 | /** |
|
0 commit comments