Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
TokenURIRenderer
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./ITokenURIRenderer.sol"; import "@openzeppelin/contracts/utils/Strings.sol"; contract TokenURIRenderer is ITokenURIRenderer { using Strings for uint256; function tokenURI(uint256 tokenId, string memory baseURI) public view virtual override returns (string memory) { return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface ITokenURIRenderer { function tokenURI(uint256 tokenId, string memory baseURI) external view returns (string memory); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } }
{ "optimizer": { "enabled": true, "runs": 10000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061050a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806341dcf45414610030575b600080fd5b61004361003e366004610233565b610059565b6040516100509190610336565b60405180910390f35b6060600082511161007957604051806020016040528060008152506100a4565b81610083846100ab565b604051602001610094929190610307565b6040516020818303038152906040525b9392505050565b6060816100eb57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561011557806100ff816103fa565b915061010e9050600a8361039f565b91506100ef565b60008167ffffffffffffffff811115610157577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610181576020820181803683370190505b5090505b841561022b576101966001836103b3565b91506101a3600a86610433565b6101ae906030610387565b60f81b8183815181106101ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610224600a8661039f565b9450610185565b949350505050565b60008060408385031215610245578182fd5b82359150602083013567ffffffffffffffff80821115610263578283fd5b818501915085601f830112610276578283fd5b813581811115610288576102886104a5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ce576102ce6104a5565b816040528281528860208487010111156102e6578586fd5b82602086016020830137856020848301015280955050505050509250929050565b600083516103198184602088016103ca565b83519083019061032d8183602088016103ca565b01949350505050565b60208152600082518060208401526103558160408501602087016103ca565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000821982111561039a5761039a610447565b500190565b6000826103ae576103ae610476565b500490565b6000828210156103c5576103c5610447565b500390565b60005b838110156103e55781810151838201526020016103cd565b838111156103f4576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561042c5761042c610447565b5060010190565b60008261044257610442610476565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea264697066735822122060db239261ea1730a07d46f3d297564231d8a2e9ced075e6959892a548b16f0564736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806341dcf45414610030575b600080fd5b61004361003e366004610233565b610059565b6040516100509190610336565b60405180910390f35b6060600082511161007957604051806020016040528060008152506100a4565b81610083846100ab565b604051602001610094929190610307565b6040516020818303038152906040525b9392505050565b6060816100eb57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561011557806100ff816103fa565b915061010e9050600a8361039f565b91506100ef565b60008167ffffffffffffffff811115610157577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610181576020820181803683370190505b5090505b841561022b576101966001836103b3565b91506101a3600a86610433565b6101ae906030610387565b60f81b8183815181106101ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610224600a8661039f565b9450610185565b949350505050565b60008060408385031215610245578182fd5b82359150602083013567ffffffffffffffff80821115610263578283fd5b818501915085601f830112610276578283fd5b813581811115610288576102886104a5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ce576102ce6104a5565b816040528281528860208487010111156102e6578586fd5b82602086016020830137856020848301015280955050505050509250929050565b600083516103198184602088016103ca565b83519083019061032d8183602088016103ca565b01949350505050565b60208152600082518060208401526103558160408501602087016103ca565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000821982111561039a5761039a610447565b500190565b6000826103ae576103ae610476565b500490565b6000828210156103c5576103c5610447565b500390565b60005b838110156103e55781810151838201526020016103cd565b838111156103f4576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561042c5761042c610447565b5060010190565b60008261044257610442610476565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea264697066735822122060db239261ea1730a07d46f3d297564231d8a2e9ced075e6959892a548b16f0564736f6c63430008040033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.