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 | 15126571 | 793 days ago | IN | 0 ETH | 0.01363411 |
Loading...
Loading
Contract Name:
FlexiPunkMetadata
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.4; import "base64-sol/base64.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; /// @title Punk Domains TLD Metadata contract (Flexi) /// @author Tempe Techie /// @notice Contract that stores metadata for TLD contracts. contract FlexiPunkMetadata { mapping (address => string) public descriptions; // TLD-specific descriptions, mapping(tldAddress => description) mapping (address => string) public brands; // TLD-specific brand names, mapping(tldAddress => brandName) // EVENTS event BrandChanged(address indexed user, string brand); event DescriptionChanged(address indexed user, string description); // READ function getMetadata(string calldata _domainName, string calldata _tld, uint256 _tokenId) public view returns(string memory) { string memory fullDomainName = string(abi.encodePacked(_domainName, _tld)); return string( abi.encodePacked("data:application/json;base64,", Base64.encode(bytes(abi.encodePacked( '{"name": "', fullDomainName, '", ', '"description": "', descriptions[msg.sender], '", ', '"image": "', _getImage(fullDomainName, brands[msg.sender]), '"}')))) ); } function _getImage(string memory _fullDomainName, string memory _brandName) internal pure returns (string memory) { string memory svgBase64Encoded = Base64.encode(bytes(string(abi.encodePacked( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" width="500" height="500">', '<defs><linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="0%">', '<stop offset="0%" style="stop-color:rgb(68,67,241);stop-opacity:1" />', '<stop offset="100%" style="stop-color:rgb(144,85,247);stop-opacity:1" /></linearGradient></defs>', '<rect x="0" y="0" width="500" height="500" fill="url(#grad)"/>', '<text x="50%" y="50%" dominant-baseline="middle" fill="white" text-anchor="middle" font-size="x-large">', _fullDomainName,'</text><text x="50%" y="70%" dominant-baseline="middle" fill="white" text-anchor="middle">', _brandName,'</text>', '</svg>' )))); return string(abi.encodePacked("data:image/svg+xml;base64,", svgBase64Encoded)); } function getTldOwner(address _tldAddress) public view returns(address) { Ownable tld = Ownable(_tldAddress); return tld.owner(); } // WRITE (TLD OWNERS) /// @notice Only TLD contract owner can call this function. function changeBrand(address _tldAddress, string calldata _brand) external { require(msg.sender == getTldOwner(_tldAddress), "Sender not TLD owner"); brands[_tldAddress] = _brand; emit BrandChanged(msg.sender, _brand); } /// @notice Only TLD contract owner can call this function. function changeDescription(address _tldAddress, string calldata _description) external { require(msg.sender == getTldOwner(_tldAddress), "Sender not TLD owner"); descriptions[_tldAddress] = _description; emit DescriptionChanged(msg.sender, _description); } }
// SPDX-License-Identifier: MIT /// @title Base64 /// @author Brecht Devos - <[email protected]> /// @notice Provides a function for encoding some bytes in base64 library Base64 { string internal constant TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; function encode(bytes memory data) internal pure returns (string memory) { if (data.length == 0) return ''; // load the table into memory string memory table = TABLE; // 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) {} { dataPtr := add(dataPtr, 3) // read 3 bytes let input := mload(dataPtr) // write 4 characters mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr(18, input), 0x3F))))) resultPtr := add(resultPtr, 1) mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr(12, input), 0x3F))))) resultPtr := add(resultPtr, 1) mstore(resultPtr, shl(248, mload(add(tablePtr, and(shr( 6, input), 0x3F))))) resultPtr := add(resultPtr, 1) mstore(resultPtr, shl(248, 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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"brand","type":"string"}],"name":"BrandChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"DescriptionChanged","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"brands","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tldAddress","type":"address"},{"internalType":"string","name":"_brand","type":"string"}],"name":"changeBrand","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tldAddress","type":"address"},{"internalType":"string","name":"_description","type":"string"}],"name":"changeDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"descriptions","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_domainName","type":"string"},{"internalType":"string","name":"_tld","type":"string"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tldAddress","type":"address"}],"name":"getTldOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610f7b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630ddec7cc146100675780631ed6f4231461009757806348189f12146100ac5780635b7fd9b5146100cc578063a330a71d146100df578063a4002a05146100f2575b600080fd5b61007a610075366004610792565b610105565b6040516001600160a01b0390911681526020015b60405180910390f35b6100aa6100a53660046107ca565b610183565b005b6100bf6100ba36600461081d565b610254565b60405161008e9190610de2565b6100bf6100da366004610792565b610385565b6100bf6100ed366004610792565b61041f565b6100aa6101003660046107ca565b610438565b600080829050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014457600080fd5b505afa158015610158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c91906107ae565b9392505050565b61018c83610105565b6001600160a01b0316336001600160a01b0316146101e85760405162461bcd60e51b815260206004820152601460248201527329b2b73232b9103737ba102a26221037bbb732b960611b60448201526064015b60405180910390fd5b6001600160a01b038316600090815260208190526040902061020b9083836106b2565b50336001600160a01b03167fd346e71ae29ac7c4fb35e65e1dae255cfebe3e31a8849eb176a39776ca819bc98383604051610247929190610db3565b60405180910390a2505050565b606060008686868660405160200161026f94939291906108aa565b60408051601f1981840301815291815233600090815260208181528282206001909152919020805492935061035a92849291610334918491906102b190610e9c565b80601f01602080910402602001604051908101604052809291908181526020018280546102dd90610e9c565b801561032a5780601f106102ff5761010080835404028352916020019161032a565b820191906000526020600020905b81548152906001019060200180831161030d57829003601f168201915b50505050506104f7565b60405160200161034693929190610bf4565b60405160208183030381529060405261053c565b60405160200161036a9190610d29565b60405160208183030381529060405291505095945050505050565b6001602052600090815260409020805461039e90610e9c565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90610e9c565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b505050505081565b6000602081905290815260409020805461039e90610e9c565b61044183610105565b6001600160a01b0316336001600160a01b0316146104985760405162461bcd60e51b815260206004820152601460248201527329b2b73232b9103737ba102a26221037bbb732b960611b60448201526064016101df565b6001600160a01b03831660009081526001602052604090206104bb9083836106b2565b50336001600160a01b03167fe516d564289861f50fd9c4b64e84b7f41ebf363d8dd8ae8ecf8970063a39398a8383604051610247929190610db3565b6060600061051184846040516020016103469291906108c8565b9050806040516020016105249190610d6e565b60405160208183030381529060405291505092915050565b606081516000141561055c57505060408051602081019091526000815290565b6000604051806060016040528060408152602001610f06604091399050600060038451600261058b9190610e15565b6105959190610e2d565b6105a0906004610e4d565b905060006105af826020610e15565b67ffffffffffffffff8111156105d557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156105ff576020820181803683370190505b509050818152600183018586518101602084015b8183101561066d5760039283018051603f601282901c811687015160f890811b8552600c83901c8216880151811b6001860152600683901c8216880151811b60028601529116860151901b93820193909352600401610613565b6003895106600181146106875760028114610698576106a4565b613d3d60f01b6001198301526106a4565b603d60f81b6000198301525b509398975050505050505050565b8280546106be90610e9c565b90600052602060002090601f0160209004810192826106e05760008555610726565b82601f106106f95782800160ff19823516178555610726565b82800160010185558215610726579182015b8281111561072657823582559160200191906001019061070b565b50610732929150610736565b5090565b5b808211156107325760008155600101610737565b60008083601f84011261075c578182fd5b50813567ffffffffffffffff811115610773578182fd5b60208301915083602082850101111561078b57600080fd5b9250929050565b6000602082840312156107a3578081fd5b813561017c81610eed565b6000602082840312156107bf578081fd5b815161017c81610eed565b6000806000604084860312156107de578182fd5b83356107e981610eed565b9250602084013567ffffffffffffffff811115610804578283fd5b6108108682870161074b565b9497909650939450505050565b600080600080600060608688031215610834578081fd5b853567ffffffffffffffff8082111561084b578283fd5b61085789838a0161074b565b9097509550602088013591508082111561086f578283fd5b5061087c8882890161074b565b96999598509660400135949350505050565b600081516108a0818560208601610e6c565b9290920192915050565b83858237600084820181815283858237909201918252509392505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222076696577426f783d2230203020353030203530302220776960208201527f6474683d2235303022206865696768743d22353030223e00000000000000000060408201527f3c646566733e3c6c696e6561724772616469656e742069643d2267726164222060578201527f78313d223025222079313d223025222078323d2231303025222079323d223025607782015261111f60f11b60978201527f3c73746f70206f66667365743d22302522207374796c653d2273746f702d636f60998201527f6c6f723a7267622836382c36372c323431293b73746f702d6f7061636974793a60b982015264189110179f60d91b60d98201527f3c73746f70206f66667365743d223130302522207374796c653d2273746f702d60de8201527f636f6c6f723a726762283134342c38352c323437293b73746f702d6f7061636960fe8201527f74793a3122202f3e3c2f6c696e6561724772616469656e743e3c2f646566733e61011e8201527f3c7265637420783d22302220793d2230222077696474683d223530302220686561013e8201527f696768743d22353030222066696c6c3d2275726c28236772616429222f3e000061015e8201527f3c7465787420783d223530252220793d223530252220646f6d696e616e742d6261017c8201527f6173656c696e653d226d6964646c65222066696c6c3d2277686974652220746561019c8201527f78742d616e63686f723d226d6964646c652220666f6e742d73697a653d22782d6101bc820152663630b933b2911f60c91b6101dc8201526000610bec610bda610bc7610bc1610b4c6101e387015b8961088e565b7f3c2f746578743e3c7465787420783d223530252220793d223730252220646f6d81527f696e616e742d626173656c696e653d226d6964646c65222066696c6c3d22776860208201527f6974652220746578742d616e63686f723d226d6964646c65223e0000000000006040820152605a0190565b8661088e565b661e17ba32bc3a1f60c91b815260070190565b651e17b9bb339f60d11b815260060190565b949350505050565b693d913730b6b2911d101160b11b815283516000906020610c1b82600a8601838a01610e6c565b6201116160ed1b600a928501928301526f113232b9b1b934b83a34b7b7111d101160811b600d8301528554601d908490600181811c9080831680610c6057607f831692505b868310811415610c7e57634e487b7160e01b89526022600452602489fd5b808015610c925760018114610ca757610cd7565b60ff1985168988015283890187019550610cd7565b60008d8152602090208a5b85811015610ccd5781548b82018a0152908401908901610cb2565b505086848a010195505b5050505050610d1c610d0e610b46610cf8846201116160ed1b815260030190565b691134b6b0b3b2911d101160b11b8152600a0190565b61227d60f01b815260020190565b9998505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251610d6181601d850160208701610e6c565b91909101601d0192915050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000815260008251610da681601a850160208701610e6c565b91909101601a0192915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6020815260008251806020840152610e01816040850160208701610e6c565b601f01601f19169190910160400192915050565b60008219821115610e2857610e28610ed7565b500190565b600082610e4857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610e6757610e67610ed7565b500290565b60005b83811015610e87578181015183820152602001610e6f565b83811115610e96576000848401525b50505050565b600181811c90821680610eb057607f821691505b60208210811415610ed157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610f0257600080fd5b5056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122083909c14e6397f17c45950b9d755ce302e0eafb257e66c71ff14032e81df4faf64736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630ddec7cc146100675780631ed6f4231461009757806348189f12146100ac5780635b7fd9b5146100cc578063a330a71d146100df578063a4002a05146100f2575b600080fd5b61007a610075366004610792565b610105565b6040516001600160a01b0390911681526020015b60405180910390f35b6100aa6100a53660046107ca565b610183565b005b6100bf6100ba36600461081d565b610254565b60405161008e9190610de2565b6100bf6100da366004610792565b610385565b6100bf6100ed366004610792565b61041f565b6100aa6101003660046107ca565b610438565b600080829050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014457600080fd5b505afa158015610158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c91906107ae565b9392505050565b61018c83610105565b6001600160a01b0316336001600160a01b0316146101e85760405162461bcd60e51b815260206004820152601460248201527329b2b73232b9103737ba102a26221037bbb732b960611b60448201526064015b60405180910390fd5b6001600160a01b038316600090815260208190526040902061020b9083836106b2565b50336001600160a01b03167fd346e71ae29ac7c4fb35e65e1dae255cfebe3e31a8849eb176a39776ca819bc98383604051610247929190610db3565b60405180910390a2505050565b606060008686868660405160200161026f94939291906108aa565b60408051601f1981840301815291815233600090815260208181528282206001909152919020805492935061035a92849291610334918491906102b190610e9c565b80601f01602080910402602001604051908101604052809291908181526020018280546102dd90610e9c565b801561032a5780601f106102ff5761010080835404028352916020019161032a565b820191906000526020600020905b81548152906001019060200180831161030d57829003601f168201915b50505050506104f7565b60405160200161034693929190610bf4565b60405160208183030381529060405261053c565b60405160200161036a9190610d29565b60405160208183030381529060405291505095945050505050565b6001602052600090815260409020805461039e90610e9c565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90610e9c565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b505050505081565b6000602081905290815260409020805461039e90610e9c565b61044183610105565b6001600160a01b0316336001600160a01b0316146104985760405162461bcd60e51b815260206004820152601460248201527329b2b73232b9103737ba102a26221037bbb732b960611b60448201526064016101df565b6001600160a01b03831660009081526001602052604090206104bb9083836106b2565b50336001600160a01b03167fe516d564289861f50fd9c4b64e84b7f41ebf363d8dd8ae8ecf8970063a39398a8383604051610247929190610db3565b6060600061051184846040516020016103469291906108c8565b9050806040516020016105249190610d6e565b60405160208183030381529060405291505092915050565b606081516000141561055c57505060408051602081019091526000815290565b6000604051806060016040528060408152602001610f06604091399050600060038451600261058b9190610e15565b6105959190610e2d565b6105a0906004610e4d565b905060006105af826020610e15565b67ffffffffffffffff8111156105d557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156105ff576020820181803683370190505b509050818152600183018586518101602084015b8183101561066d5760039283018051603f601282901c811687015160f890811b8552600c83901c8216880151811b6001860152600683901c8216880151811b60028601529116860151901b93820193909352600401610613565b6003895106600181146106875760028114610698576106a4565b613d3d60f01b6001198301526106a4565b603d60f81b6000198301525b509398975050505050505050565b8280546106be90610e9c565b90600052602060002090601f0160209004810192826106e05760008555610726565b82601f106106f95782800160ff19823516178555610726565b82800160010185558215610726579182015b8281111561072657823582559160200191906001019061070b565b50610732929150610736565b5090565b5b808211156107325760008155600101610737565b60008083601f84011261075c578182fd5b50813567ffffffffffffffff811115610773578182fd5b60208301915083602082850101111561078b57600080fd5b9250929050565b6000602082840312156107a3578081fd5b813561017c81610eed565b6000602082840312156107bf578081fd5b815161017c81610eed565b6000806000604084860312156107de578182fd5b83356107e981610eed565b9250602084013567ffffffffffffffff811115610804578283fd5b6108108682870161074b565b9497909650939450505050565b600080600080600060608688031215610834578081fd5b853567ffffffffffffffff8082111561084b578283fd5b61085789838a0161074b565b9097509550602088013591508082111561086f578283fd5b5061087c8882890161074b565b96999598509660400135949350505050565b600081516108a0818560208601610e6c565b9290920192915050565b83858237600084820181815283858237909201918252509392505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222076696577426f783d2230203020353030203530302220776960208201527f6474683d2235303022206865696768743d22353030223e00000000000000000060408201527f3c646566733e3c6c696e6561724772616469656e742069643d2267726164222060578201527f78313d223025222079313d223025222078323d2231303025222079323d223025607782015261111f60f11b60978201527f3c73746f70206f66667365743d22302522207374796c653d2273746f702d636f60998201527f6c6f723a7267622836382c36372c323431293b73746f702d6f7061636974793a60b982015264189110179f60d91b60d98201527f3c73746f70206f66667365743d223130302522207374796c653d2273746f702d60de8201527f636f6c6f723a726762283134342c38352c323437293b73746f702d6f7061636960fe8201527f74793a3122202f3e3c2f6c696e6561724772616469656e743e3c2f646566733e61011e8201527f3c7265637420783d22302220793d2230222077696474683d223530302220686561013e8201527f696768743d22353030222066696c6c3d2275726c28236772616429222f3e000061015e8201527f3c7465787420783d223530252220793d223530252220646f6d696e616e742d6261017c8201527f6173656c696e653d226d6964646c65222066696c6c3d2277686974652220746561019c8201527f78742d616e63686f723d226d6964646c652220666f6e742d73697a653d22782d6101bc820152663630b933b2911f60c91b6101dc8201526000610bec610bda610bc7610bc1610b4c6101e387015b8961088e565b7f3c2f746578743e3c7465787420783d223530252220793d223730252220646f6d81527f696e616e742d626173656c696e653d226d6964646c65222066696c6c3d22776860208201527f6974652220746578742d616e63686f723d226d6964646c65223e0000000000006040820152605a0190565b8661088e565b661e17ba32bc3a1f60c91b815260070190565b651e17b9bb339f60d11b815260060190565b949350505050565b693d913730b6b2911d101160b11b815283516000906020610c1b82600a8601838a01610e6c565b6201116160ed1b600a928501928301526f113232b9b1b934b83a34b7b7111d101160811b600d8301528554601d908490600181811c9080831680610c6057607f831692505b868310811415610c7e57634e487b7160e01b89526022600452602489fd5b808015610c925760018114610ca757610cd7565b60ff1985168988015283890187019550610cd7565b60008d8152602090208a5b85811015610ccd5781548b82018a0152908401908901610cb2565b505086848a010195505b5050505050610d1c610d0e610b46610cf8846201116160ed1b815260030190565b691134b6b0b3b2911d101160b11b8152600a0190565b61227d60f01b815260020190565b9998505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251610d6181601d850160208701610e6c565b91909101601d0192915050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000815260008251610da681601a850160208701610e6c565b91909101601a0192915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6020815260008251806020840152610e01816040850160208701610e6c565b601f01601f19169190910160400192915050565b60008219821115610e2857610e28610ed7565b500190565b600082610e4857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610e6757610e67610ed7565b500290565b60005b83811015610e87578181015183820152602001610e6f565b83811115610e96576000848401525b50505050565b600181811c90821680610eb057607f821691505b60208210811415610ed157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610f0257600080fd5b5056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122083909c14e6397f17c45950b9d755ce302e0eafb257e66c71ff14032e81df4faf64736f6c63430008040033
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.