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
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EditionsMetadataHelper
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 200000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT /** * ░█▄█░▄▀▄▒█▀▒▄▀▄░░░▒░░░▒██▀░█▀▄░█░▀█▀░█░▄▀▄░█▄░█░▄▀▀░░░█▄░█▒█▀░▀█▀ * ▒█▒█░▀▄▀░█▀░█▀█▒░░▀▀▒░░█▄▄▒█▄▀░█░▒█▒░█░▀▄▀░█▒▀█▒▄██▒░░█▒▀█░█▀░▒█▒ * * Made with 🧡 by Kreation.tech */ pragma solidity ^0.8.6; import {MetadataHelper} from "./MetadataHelper.sol"; /** * Shared NFT logic for rendering metadata associated with editions */ contract EditionsMetadataHelper is MetadataHelper { /** * Generates edition metadata from storage information as base64-json blob * Combines the media data and metadata * * @param name Name of NFT in metadata * @param description Description of NFT in metadata * @param contentUrl URL of content to render * @param thumbnailUrl optional URL of a thumbnail to render, for animated content only * @param tokenOfEdition unique identifier of a token edition * @param size total count of editions */ function createTokenURI(string memory name, string memory description, string memory contentUrl, string memory thumbnailUrl, uint256 tokenOfEdition, uint256 size) external pure returns (string memory) { string memory _tokenMediaData = tokenMediaData(contentUrl, thumbnailUrl, tokenOfEdition); bytes memory json = createMetadata(name, description, _tokenMediaData, tokenOfEdition, size); return encodeMetadata(json); } /** * Function to create the metadata json string for the nft edition * * @param name Name of NFT in metadata * @param description Description of NFT in metadata * @param mediaData Data for media to include in json object * @param tokenOfEdition Token ID for specific token * @param size Size of entire edition to show */ function createMetadata(string memory name, string memory description, string memory mediaData, uint256 tokenOfEdition, uint256 size) public pure returns (bytes memory) { bytes memory sizeText; if (size > 0) { sizeText = abi.encodePacked("/", numberToString(size)); } return abi.encodePacked('{"name":"', name, " ", numberToString(tokenOfEdition), sizeText, '","description":"', description, '","', mediaData, 'properties":{"number":', numberToString(tokenOfEdition), ',"name":"', name, '"}}'); } /** * Generates edition metadata from storage information as base64-json blob * Combines the media data and metadata * * @param contentUrl URL of image to render for edition * @param thumbnailUrl index of the content type to render for edition * @param tokenOfEdition token identifier */ function tokenMediaData(string memory contentUrl, string memory thumbnailUrl, uint256 tokenOfEdition) public pure returns (string memory) { if (bytes(thumbnailUrl).length == 0) { return string( abi.encodePacked( 'image":"', contentUrl, "?id=", numberToString(tokenOfEdition),'","')); } else { return string( abi.encodePacked( 'image":"', thumbnailUrl, "?id=", numberToString(tokenOfEdition),'","animation_url":"', contentUrl, "?id=", numberToString(tokenOfEdition),'","')); } } }
// SPDX-License-Identifier: MIT /** * ░█▄█░▄▀▄▒█▀▒▄▀▄░░░▒░░░▒██▀░█▀▄░█░▀█▀░█░▄▀▄░█▄░█░▄▀▀░░░█▄░█▒█▀░▀█▀ * ▒█▒█░▀▄▀░█▀░█▀█▒░░▀▀▒░░█▄▄▒█▄▀░█░▒█▒░█░▀▄▀░█▒▀█▒▄██▒░░█▒▀█░█▀░▒█▒ * * Made with 🧡 by Kreation.tech */ pragma solidity ^0.8.6; import {StringsUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol"; import {Base64} from "base64-sol/base64.sol"; /** * Shared utility functions for rendering on-chain metadata */ contract MetadataHelper { /** * @param unencoded bytes to base64-encode */ function base64Encode(bytes memory unencoded) public pure returns (string memory) { return Base64.encode(unencoded); } /** * Encodes the argument json bytes into base64-data uri format * * @param json raw json to base64 and turn into a data-uri */ function encodeMetadata(bytes memory json) public pure returns (string memory) { return string(abi.encodePacked("data:application/json;base64,", base64Encode(json))); } /** * Proxy to openzeppelin's toString function * * @param value number to return as a string */ function numberToString(uint256 value) public pure returns (string memory) { return StringsUpgradeable.toString(value); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library StringsUpgradeable { 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); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0; /// @title Base64 /// @author Brecht Devos - <[email protected]> /// @notice Provides functions for encoding/decoding base64 library Base64 { string internal constant TABLE_ENCODE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; bytes internal constant TABLE_DECODE = hex"0000000000000000000000000000000000000000000000000000000000000000" hex"00000000000000000000003e0000003f3435363738393a3b3c3d000000000000" hex"00000102030405060708090a0b0c0d0e0f101112131415161718190000000000" hex"001a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132330000000000"; function encode(bytes memory data) internal pure returns (string memory) { if (data.length == 0) return ''; // load the table into memory string memory table = TABLE_ENCODE; // multiply by 4/3 rounded up uint256 encodedLen = 4 * ((data.length + 2) / 3); // add some extra buffer at the end required for the writing string memory result = new string(encodedLen + 32); assembly { // set the actual output length mstore(result, encodedLen) // prepare the lookup table let tablePtr := add(table, 1) // input ptr let dataPtr := data let endPtr := add(dataPtr, mload(data)) // result ptr, jump over length let resultPtr := add(result, 32) // run over the input, 3 bytes at a time for {} lt(dataPtr, endPtr) {} { // read 3 bytes dataPtr := add(dataPtr, 3) let input := mload(dataPtr) // write 4 characters mstore8(resultPtr, mload(add(tablePtr, and(shr(18, input), 0x3F)))) resultPtr := add(resultPtr, 1) mstore8(resultPtr, mload(add(tablePtr, and(shr(12, input), 0x3F)))) resultPtr := add(resultPtr, 1) mstore8(resultPtr, mload(add(tablePtr, and(shr( 6, input), 0x3F)))) resultPtr := add(resultPtr, 1) mstore8(resultPtr, mload(add(tablePtr, and( input, 0x3F)))) resultPtr := add(resultPtr, 1) } // padding with '=' switch mod(mload(data), 3) case 1 { mstore(sub(resultPtr, 2), shl(240, 0x3d3d)) } case 2 { mstore(sub(resultPtr, 1), shl(248, 0x3d)) } } return result; } function decode(string memory _data) internal pure returns (bytes memory) { bytes memory data = bytes(_data); if (data.length == 0) return new bytes(0); require(data.length % 4 == 0, "invalid base64 decoder input"); // load the table into memory bytes memory table = TABLE_DECODE; // every 4 characters represent 3 bytes uint256 decodedLen = (data.length / 4) * 3; // add some extra buffer at the end required for the writing bytes memory result = new bytes(decodedLen + 32); assembly { // padding with '=' let lastBytes := mload(add(data, mload(data))) if eq(and(lastBytes, 0xFF), 0x3d) { decodedLen := sub(decodedLen, 1) if eq(and(lastBytes, 0xFFFF), 0x3d3d) { decodedLen := sub(decodedLen, 1) } } // set the actual output length mstore(result, decodedLen) // prepare the lookup table let tablePtr := add(table, 1) // input ptr let dataPtr := data let endPtr := add(dataPtr, mload(data)) // result ptr, jump over length let resultPtr := add(result, 32) // run over the input, 4 characters at a time for {} lt(dataPtr, endPtr) {} { // read 4 characters dataPtr := add(dataPtr, 4) let input := mload(dataPtr) // write 3 bytes let output := add( add( shl(18, and(mload(add(tablePtr, and(shr(24, input), 0xFF))), 0xFF)), shl(12, and(mload(add(tablePtr, and(shr(16, input), 0xFF))), 0xFF))), add( shl( 6, and(mload(add(tablePtr, and(shr( 8, input), 0xFF))), 0xFF)), and(mload(add(tablePtr, and( input , 0xFF))), 0xFF) ) ) mstore(resultPtr, shl(232, output)) resultPtr := add(resultPtr, 3) } } return result; } }
{ "optimizer": { "enabled": true, "runs": 200000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"bytes","name":"unencoded","type":"bytes"}],"name":"base64Encode","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"mediaData","type":"string"},{"internalType":"uint256","name":"tokenOfEdition","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"createMetadata","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"contentUrl","type":"string"},{"internalType":"string","name":"thumbnailUrl","type":"string"},{"internalType":"uint256","name":"tokenOfEdition","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"createTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"json","type":"bytes"}],"name":"encodeMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"numberToString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"contentUrl","type":"string"},{"internalType":"string","name":"thumbnailUrl","type":"string"},{"internalType":"uint256","name":"tokenOfEdition","type":"uint256"}],"name":"tokenMediaData","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610ef1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063be6ce8b411610050578063be6ce8b4146100c6578063d5fb1b19146100d9578063eb111ab6146100ec57600080fd5b8063170dc6601461007757806329395d7e146100a0578063a50e6a68146100b3575b600080fd5b61008a61008536600461057e565b6100ff565b6040516100979190610611565b60405180910390f35b61008a6100ae3660046106e7565b610110565b61008a6100c1366004610750565b610141565b61008a6100d436600461080f565b610179565b61008a6100e73660046106e7565b6101f5565b61008a6100fa3660046108a9565b610200565b606061010a8261026b565b92915050565b606061011b826101f5565b60405160200161012b9190610932565b6040516020818303038152906040529050919050565b60606000610150868686610200565b905060006101618989848888610179565b905061016c81610110565b9998505050505050505050565b60608082156101ad5761018b836100ff565b60405160200161019b9190610977565b60405160208183030381529060405290505b866101b7856100ff565b8288886101c3896100ff565b8c6040516020016101da97969594939291906109bc565b60405160208183030381529060405291505095945050505050565b606061010a826103a5565b606082516000141561023d5783610216836100ff565b604051602001610227929190610b6e565b6040516020818303038152906040529050610264565b82610247836100ff565b85610251856100ff565b6040516020016102279493929190610c19565b9392505050565b6060816102ab57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156102d557806102bf81610d50565b91506102ce9050600a83610db8565b91506102af565b60008167ffffffffffffffff8111156102f0576102f0610624565b6040519080825280601f01601f19166020018201604052801561031a576020820181803683370190505b5090505b841561039d5761032f600183610dcc565b915061033c600a86610de3565b610347906030610df7565b60f81b81838151811061035c5761035c610e0f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610396600a86610db8565b945061031e565b949350505050565b60608151600014156103c557505060408051602081019091526000815290565b6000604051806060016040528060408152602001610e7c60409139905060006003845160026103f49190610df7565b6103fe9190610db8565b610409906004610e3e565b90506000610418826020610df7565b67ffffffffffffffff81111561043057610430610624565b6040519080825280601f01601f19166020018201604052801561045a576020820181803683370190505b509050818152600183018586518101602084015b818310156104c6576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f811685015182535060010161046e565b6003895106600181146104e0576002811461052a57610570565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152610570565b7f3d000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301525b509398975050505050505050565b60006020828403121561059057600080fd5b5035919050565b60005b838110156105b257818101518382015260200161059a565b838111156105c1576000848401525b50505050565b600081518084526105df816020860160208601610597565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061026460208301846105c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561066e5761066e610624565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156106b4576106b4610624565b816040528093508581528686860111156106cd57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156106f957600080fd5b813567ffffffffffffffff81111561071057600080fd5b8201601f8101841361072157600080fd5b61039d84823560208401610653565b600082601f83011261074157600080fd5b61026483833560208501610653565b60008060008060008060c0878903121561076957600080fd5b863567ffffffffffffffff8082111561078157600080fd5b61078d8a838b01610730565b975060208901359150808211156107a357600080fd5b6107af8a838b01610730565b965060408901359150808211156107c557600080fd5b6107d18a838b01610730565b955060608901359150808211156107e757600080fd5b506107f489828a01610730565b9350506080870135915060a087013590509295509295509295565b600080600080600060a0868803121561082757600080fd5b853567ffffffffffffffff8082111561083f57600080fd5b61084b89838a01610730565b9650602088013591508082111561086157600080fd5b61086d89838a01610730565b9550604088013591508082111561088357600080fd5b5061089088828901610730565b9598949750949560608101359550608001359392505050565b6000806000606084860312156108be57600080fd5b833567ffffffffffffffff808211156108d657600080fd5b6108e287838801610730565b945060208601359150808211156108f857600080fd5b5061090586828701610730565b925050604084013590509250925092565b60008151610928818560208601610597565b9290920192915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161096a81601d850160208701610597565b91909101601d0192915050565b7f2f000000000000000000000000000000000000000000000000000000000000008152600082516109af816001850160208701610597565b9190910160010192915050565b7f7b226e616d65223a2200000000000000000000000000000000000000000000008152600088516109f4816009850160208d01610597565b7f20000000000000000000000000000000000000000000000000000000000000006009918401918201528851610a3181600a840160208d01610597565b8851910190610a4781600a840160208c01610597565b7f222c226465736372697074696f6e223a22000000000000000000000000000000600a92909101918201528651610a8581601b840160208b01610597565b7f222c220000000000000000000000000000000000000000000000000000000000601b92909101918201528551610ac381601e840160208a01610597565b610b5f610b36610b30610b07610b01601e868801017f70726f70657274696573223a7b226e756d626572223a00000000000000000000815260160190565b8a610916565b7f2c226e616d65223a220000000000000000000000000000000000000000000000815260090190565b87610916565b7f227d7d0000000000000000000000000000000000000000000000000000000000815260030190565b9b9a5050505050505050505050565b7f696d616765223a22000000000000000000000000000000000000000000000000815260008351610ba6816008850160208801610597565b7f3f69643d000000000000000000000000000000000000000000000000000000006008918401918201528351610be381600c840160208801610597565b7f222c220000000000000000000000000000000000000000000000000000000000600c9290910191820152600f01949350505050565b7f696d616765223a22000000000000000000000000000000000000000000000000815260008551610c51816008850160208a01610597565b80830190507f3f69643d000000000000000000000000000000000000000000000000000000008060088301528651610c9081600c850160208b01610597565b7f222c22616e696d6174696f6e5f75726c223a2200000000000000000000000000600c93909101928301528551610cce81601f850160208a01610597565b601f9201918201528351610ce9816023840160208801610597565b7f222c220000000000000000000000000000000000000000000000000000000000602392909101918201526026019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d8257610d82610d21565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610dc757610dc7610d89565b500490565b600082821015610dde57610dde610d21565b500390565b600082610df257610df2610d89565b500690565b60008219821115610e0a57610e0a610d21565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610e7657610e76610d21565b50029056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220e41debca32ed1bb4bd4f2ec54a181e87a9b04eafa3d9fe30f88383abccb070bf64736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063be6ce8b411610050578063be6ce8b4146100c6578063d5fb1b19146100d9578063eb111ab6146100ec57600080fd5b8063170dc6601461007757806329395d7e146100a0578063a50e6a68146100b3575b600080fd5b61008a61008536600461057e565b6100ff565b6040516100979190610611565b60405180910390f35b61008a6100ae3660046106e7565b610110565b61008a6100c1366004610750565b610141565b61008a6100d436600461080f565b610179565b61008a6100e73660046106e7565b6101f5565b61008a6100fa3660046108a9565b610200565b606061010a8261026b565b92915050565b606061011b826101f5565b60405160200161012b9190610932565b6040516020818303038152906040529050919050565b60606000610150868686610200565b905060006101618989848888610179565b905061016c81610110565b9998505050505050505050565b60608082156101ad5761018b836100ff565b60405160200161019b9190610977565b60405160208183030381529060405290505b866101b7856100ff565b8288886101c3896100ff565b8c6040516020016101da97969594939291906109bc565b60405160208183030381529060405291505095945050505050565b606061010a826103a5565b606082516000141561023d5783610216836100ff565b604051602001610227929190610b6e565b6040516020818303038152906040529050610264565b82610247836100ff565b85610251856100ff565b6040516020016102279493929190610c19565b9392505050565b6060816102ab57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156102d557806102bf81610d50565b91506102ce9050600a83610db8565b91506102af565b60008167ffffffffffffffff8111156102f0576102f0610624565b6040519080825280601f01601f19166020018201604052801561031a576020820181803683370190505b5090505b841561039d5761032f600183610dcc565b915061033c600a86610de3565b610347906030610df7565b60f81b81838151811061035c5761035c610e0f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610396600a86610db8565b945061031e565b949350505050565b60608151600014156103c557505060408051602081019091526000815290565b6000604051806060016040528060408152602001610e7c60409139905060006003845160026103f49190610df7565b6103fe9190610db8565b610409906004610e3e565b90506000610418826020610df7565b67ffffffffffffffff81111561043057610430610624565b6040519080825280601f01601f19166020018201604052801561045a576020820181803683370190505b509050818152600183018586518101602084015b818310156104c6576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f811685015182535060010161046e565b6003895106600181146104e0576002811461052a57610570565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152610570565b7f3d000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301525b509398975050505050505050565b60006020828403121561059057600080fd5b5035919050565b60005b838110156105b257818101518382015260200161059a565b838111156105c1576000848401525b50505050565b600081518084526105df816020860160208601610597565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061026460208301846105c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561066e5761066e610624565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156106b4576106b4610624565b816040528093508581528686860111156106cd57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156106f957600080fd5b813567ffffffffffffffff81111561071057600080fd5b8201601f8101841361072157600080fd5b61039d84823560208401610653565b600082601f83011261074157600080fd5b61026483833560208501610653565b60008060008060008060c0878903121561076957600080fd5b863567ffffffffffffffff8082111561078157600080fd5b61078d8a838b01610730565b975060208901359150808211156107a357600080fd5b6107af8a838b01610730565b965060408901359150808211156107c557600080fd5b6107d18a838b01610730565b955060608901359150808211156107e757600080fd5b506107f489828a01610730565b9350506080870135915060a087013590509295509295509295565b600080600080600060a0868803121561082757600080fd5b853567ffffffffffffffff8082111561083f57600080fd5b61084b89838a01610730565b9650602088013591508082111561086157600080fd5b61086d89838a01610730565b9550604088013591508082111561088357600080fd5b5061089088828901610730565b9598949750949560608101359550608001359392505050565b6000806000606084860312156108be57600080fd5b833567ffffffffffffffff808211156108d657600080fd5b6108e287838801610730565b945060208601359150808211156108f857600080fd5b5061090586828701610730565b925050604084013590509250925092565b60008151610928818560208601610597565b9290920192915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161096a81601d850160208701610597565b91909101601d0192915050565b7f2f000000000000000000000000000000000000000000000000000000000000008152600082516109af816001850160208701610597565b9190910160010192915050565b7f7b226e616d65223a2200000000000000000000000000000000000000000000008152600088516109f4816009850160208d01610597565b7f20000000000000000000000000000000000000000000000000000000000000006009918401918201528851610a3181600a840160208d01610597565b8851910190610a4781600a840160208c01610597565b7f222c226465736372697074696f6e223a22000000000000000000000000000000600a92909101918201528651610a8581601b840160208b01610597565b7f222c220000000000000000000000000000000000000000000000000000000000601b92909101918201528551610ac381601e840160208a01610597565b610b5f610b36610b30610b07610b01601e868801017f70726f70657274696573223a7b226e756d626572223a00000000000000000000815260160190565b8a610916565b7f2c226e616d65223a220000000000000000000000000000000000000000000000815260090190565b87610916565b7f227d7d0000000000000000000000000000000000000000000000000000000000815260030190565b9b9a5050505050505050505050565b7f696d616765223a22000000000000000000000000000000000000000000000000815260008351610ba6816008850160208801610597565b7f3f69643d000000000000000000000000000000000000000000000000000000006008918401918201528351610be381600c840160208801610597565b7f222c220000000000000000000000000000000000000000000000000000000000600c9290910191820152600f01949350505050565b7f696d616765223a22000000000000000000000000000000000000000000000000815260008551610c51816008850160208a01610597565b80830190507f3f69643d000000000000000000000000000000000000000000000000000000008060088301528651610c9081600c850160208b01610597565b7f222c22616e696d6174696f6e5f75726c223a2200000000000000000000000000600c93909101928301528551610cce81601f850160208a01610597565b601f9201918201528351610ce9816023840160208801610597565b7f222c220000000000000000000000000000000000000000000000000000000000602392909101918201526026019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d8257610d82610d21565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610dc757610dc7610d89565b500490565b600082821015610dde57610dde610d21565b500390565b600082610df257610df2610d89565b500690565b60008219821115610e0a57610e0a610d21565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610e7657610e76610d21565b50029056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220e41debca32ed1bb4bd4f2ec54a181e87a9b04eafa3d9fe30f88383abccb070bf64736f6c63430008090033
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.