Source Code
Overview
APE Balance
More Info
ContractCreator
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xa25a4b4c...81346bDcc The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
GobsDataSource
Compiler Version
v0.8.27+commit.40a35a09
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract GobsDataSource { address payable internal deployer; bool private contractSealed = false; struct Trait { string traitType; string value; } struct GobData { bytes imageData; // Encoded pixel data or SVG Trait[] traits; // Array of traits for the token } modifier onlyDeployer() { require(msg.sender == deployer, "Only deployer."); _; } modifier unsealed() { require(!contractSealed, "Contract sealed."); _; } constructor() { deployer = payable(msg.sender); } mapping(uint256 => GobData) private gobData; // Stores data for each token // Store image data for a token function storeImage(uint256 tokenId, bytes memory imageData) external onlyDeployer { gobData[tokenId].imageData = imageData; } // Add traits for a token function storeTraits(uint256 tokenId, Trait[] memory traits) external onlyDeployer { delete gobData[tokenId].traits; // Clear existing traits for (uint256 i = 0; i < traits.length; i++) { gobData[tokenId].traits.push(traits[i]); } } // Retrieve SVG for a token function getSVG(uint256 tokenId) external view returns (string memory) { require(gobData[tokenId].imageData.length > 0, "Image not set"); // Example: Assume imageData is an SVG string stored as bytes return string(gobData[tokenId].imageData); } // Retrieve encoded image data for a token function getEncodedBytes(uint256 tokenId) external view returns (bytes memory) { require(gobData[tokenId].imageData.length > 0, "Image not set"); return gobData[tokenId].imageData; } // Retrieve traits for a token function getTraits(uint256 tokenId) external view returns (Trait[] memory) { require(gobData[tokenId].traits.length > 0, "Traits not set"); return gobData[tokenId].traits; } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getEncodedBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getSVG","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTraits","outputs":[{"components":[{"internalType":"string","name":"traitType","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct GobsDataSource.Trait[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"imageData","type":"bytes"}],"name":"storeImage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"components":[{"internalType":"string","name":"traitType","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct GobsDataSource.Trait[]","name":"traits","type":"tuple[]"}],"name":"storeTraits","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063784150c91461005c578063997c51d214610078578063be985ac914610094578063d978a74b146100c4578063e1dc0761146100f4575b600080fd5b61007660048036038101906100719190610987565b610124565b005b610092600480360381019061008d9190610bfc565b6101da565b005b6100ae60048036038101906100a99190610c58565b610330565b6040516100bb9190610d04565b60405180910390f35b6100de60048036038101906100d99190610c58565b61043d565b6040516100eb9190610d7b565b60405180910390f35b61010e60048036038101906101099190610c58565b61054a565b60405161011b9190610eed565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a990610f5b565b60405180910390fd5b806001600084815260200190815260200160002060000190816101d59190611187565b505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025f90610f5b565b60405180910390fd5b60016000838152602001908152602001600020600101600061028a919061073f565b60005b815181101561032b57600160008481526020019081526020016000206001018282815181106102bf576102be611259565b5b60200260200101519080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001908161030591906112e3565b50602082015181600101908161031b91906112e3565b505050808060010191505061028d565b505050565b6060600060016000848152602001908152602001600020600001805461035590610faa565b905011610397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038e90611401565b60405180910390fd5b6001600083815260200190815260200160002060000180546103b890610faa565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490610faa565b80156104315780601f1061040657610100808354040283529160200191610431565b820191906000526020600020905b81548152906001019060200180831161041457829003601f168201915b50505050509050919050565b6060600060016000848152602001908152602001600020600001805461046290610faa565b9050116104a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049b90611401565b60405180910390fd5b6001600083815260200190815260200160002060000180546104c590610faa565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190610faa565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b50505050509050919050565b606060006001600084815260200190815260200160002060010180549050116105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f9061146d565b60405180910390fd5b60016000838152602001908152602001600020600101805480602002602001604051908101604052809291908181526020016000905b82821015610734578382906000526020600020906002020160405180604001604052908160008201805461061190610faa565b80601f016020809104026020016040519081016040528092919081815260200182805461063d90610faa565b801561068a5780601f1061065f5761010080835404028352916020019161068a565b820191906000526020600020905b81548152906001019060200180831161066d57829003601f168201915b505050505081526020016001820180546106a390610faa565b80601f01602080910402602001604051908101604052809291908181526020018280546106cf90610faa565b801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505081525050815260200190600101906105de565b505050509050919050565b50805460008255600202906000526020600020908101906107609190610763565b50565b5b80821115610796576000808201600061077d919061079a565b60018201600061078d919061079a565b50600201610764565b5090565b5080546107a690610faa565b6000825580601f106107b857506107d7565b601f0160209004906000526020600020908101906107d691906107da565b5b50565b5b808211156107f35760008160009055506001016107db565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61081e8161080b565b811461082957600080fd5b50565b60008135905061083b81610815565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6108948261084b565b810181811067ffffffffffffffff821117156108b3576108b261085c565b5b80604052505050565b60006108c66107f7565b90506108d2828261088b565b919050565b600067ffffffffffffffff8211156108f2576108f161085c565b5b6108fb8261084b565b9050602081019050919050565b82818337600083830152505050565b600061092a610925846108d7565b6108bc565b90508281526020810184848401111561094657610945610846565b5b610951848285610908565b509392505050565b600082601f83011261096e5761096d610841565b5b813561097e848260208601610917565b91505092915050565b6000806040838503121561099e5761099d610801565b5b60006109ac8582860161082c565b925050602083013567ffffffffffffffff8111156109cd576109cc610806565b5b6109d985828601610959565b9150509250929050565b600067ffffffffffffffff8211156109fe576109fd61085c565b5b602082029050602081019050919050565b600080fd5b600080fd5b600080fd5b600067ffffffffffffffff821115610a3957610a3861085c565b5b610a428261084b565b9050602081019050919050565b6000610a62610a5d84610a1e565b6108bc565b905082815260208101848484011115610a7e57610a7d610846565b5b610a89848285610908565b509392505050565b600082601f830112610aa657610aa5610841565b5b8135610ab6848260208601610a4f565b91505092915050565b600060408284031215610ad557610ad4610a14565b5b610adf60406108bc565b9050600082013567ffffffffffffffff811115610aff57610afe610a19565b5b610b0b84828501610a91565b600083015250602082013567ffffffffffffffff811115610b2f57610b2e610a19565b5b610b3b84828501610a91565b60208301525092915050565b6000610b5a610b55846109e3565b6108bc565b90508083825260208201905060208402830185811115610b7d57610b7c610a0f565b5b835b81811015610bc457803567ffffffffffffffff811115610ba257610ba1610841565b5b808601610baf8982610abf565b85526020850194505050602081019050610b7f565b5050509392505050565b600082601f830112610be357610be2610841565b5b8135610bf3848260208601610b47565b91505092915050565b60008060408385031215610c1357610c12610801565b5b6000610c218582860161082c565b925050602083013567ffffffffffffffff811115610c4257610c41610806565b5b610c4e85828601610bce565b9150509250929050565b600060208284031215610c6e57610c6d610801565b5b6000610c7c8482850161082c565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cbf578082015181840152602081019050610ca4565b60008484015250505050565b6000610cd682610c85565b610ce08185610c90565b9350610cf0818560208601610ca1565b610cf98161084b565b840191505092915050565b60006020820190508181036000830152610d1e8184610ccb565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000610d4d82610d26565b610d578185610d31565b9350610d67818560208601610ca1565b610d708161084b565b840191505092915050565b60006020820190508181036000830152610d958184610d42565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000610de582610c85565b610def8185610dc9565b9350610dff818560208601610ca1565b610e088161084b565b840191505092915050565b60006040830160008301518482036000860152610e308282610dda565b91505060208301518482036020860152610e4a8282610dda565b9150508091505092915050565b6000610e638383610e13565b905092915050565b6000602082019050919050565b6000610e8382610d9d565b610e8d8185610da8565b935083602082028501610e9f85610db9565b8060005b85811015610edb5784840389528151610ebc8582610e57565b9450610ec783610e6b565b925060208a01995050600181019050610ea3565b50829750879550505050505092915050565b60006020820190508181036000830152610f078184610e78565b905092915050565b7f4f6e6c79206465706c6f7965722e000000000000000000000000000000000000600082015250565b6000610f45600e83610c90565b9150610f5082610f0f565b602082019050919050565b60006020820190508181036000830152610f7481610f38565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610fc257607f821691505b602082108103610fd557610fd4610f7b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261103d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611000565b6110478683611000565b95508019841693508086168417925050509392505050565b6000819050919050565b600061108461107f61107a8461080b565b61105f565b61080b565b9050919050565b6000819050919050565b61109e83611069565b6110b26110aa8261108b565b84845461100d565b825550505050565b600090565b6110c76110ba565b6110d2818484611095565b505050565b5b818110156110f6576110eb6000826110bf565b6001810190506110d8565b5050565b601f82111561113b5761110c81610fdb565b61111584610ff0565b81016020851015611124578190505b61113861113085610ff0565b8301826110d7565b50505b505050565b600082821c905092915050565b600061115e60001984600802611140565b1980831691505092915050565b6000611177838361114d565b9150826002028217905092915050565b61119082610d26565b67ffffffffffffffff8111156111a9576111a861085c565b5b6111b38254610faa565b6111be8282856110fa565b600060209050601f8311600181146111f157600084156111df578287015190505b6111e9858261116b565b865550611251565b601f1984166111ff86610fdb565b60005b8281101561122757848901518255600182019150602085019450602081019050611202565b868310156112445784890151611240601f89168261114d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b601f8211156112de576112af81611288565b6112b884610ff0565b810160208510156112c7578190505b6112db6112d385610ff0565b8301826110d7565b50505b505050565b6112ec82610c85565b67ffffffffffffffff8111156113055761130461085c565b5b61130f8254610faa565b61131a82828561129d565b600060209050601f83116001811461134d576000841561133b578287015190505b611345858261116b565b8655506113ad565b601f19841661135b86611288565b60005b828110156113835784890151825560018201915060208501945060208101905061135e565b868310156113a0578489015161139c601f89168261114d565b8355505b6001600288020188555050505b505050505050565b7f496d616765206e6f742073657400000000000000000000000000000000000000600082015250565b60006113eb600d83610c90565b91506113f6826113b5565b602082019050919050565b6000602082019050818103600083015261141a816113de565b9050919050565b7f547261697473206e6f7420736574000000000000000000000000000000000000600082015250565b6000611457600e83610c90565b915061146282611421565b602082019050919050565b600060208201905081810360008301526114868161144a565b905091905056fea26469706673582212204f6b63300a5eb24f992e114e88b051a3d72eb20b896d0371be7ab262521dde2464736f6c634300081b0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.