{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTokenMetadata","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenAttribute","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_traitType","type":"string","internalType":"string"},{"name":"_value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenAttribute","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_traitType","type":"string","internalType":"string"},{"name":"_value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenAttribute","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_traitType","type":"string","internalType":"string"},{"name":"_value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenAttribute","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_traitType","type":"string","internalType":"string"},{"name":"_value","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenAttribute","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_attribute","type":"tuple","internalType":"struct Attribute","components":[{"name":"traitType","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"},{"name":"displayType","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenMetadata","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_path","type":"string","internalType":"string"},{"name":"_value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenMetadata","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"tuple","internalType":"struct StdTokenMetadata","components":[{"name":"name","type":"string","internalType":"string"},{"name":"description","type":"string","internalType":"string"},{"name":"image","type":"string","internalType":"string"},{"name":"externalURL","type":"string","internalType":"string"},{"name":"animationURL","type":"string","internalType":"string"},{"name":"attributes","type":"tuple[]","internalType":"struct Attribute[]","components":[{"name":"traitType","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"},{"name":"displayType","type":"string","internalType":"string"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenMetadataRaw","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_jsonBlob","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"uri","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"TokenMetadataImmutable","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"TokenMetadataUnauthorized","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","exists(uint256)":"4f558e79","getApproved(uint256)":"081812fc","getTokenMetadata(uint256)":"60316801","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setTokenAttribute(uint256,(string,string,string))":"ef15c0e7","setTokenAttribute(uint256,string,bool)":"92df3e8b","setTokenAttribute(uint256,string,int256)":"d38b856d","setTokenAttribute(uint256,string,string)":"4bcdb12f","setTokenAttribute(uint256,string,uint256)":"b94e14d2","setTokenMetadata(uint256,(string,string,string,string,string,(string,string,string)[]))":"cfe903b2","setTokenMetadata(uint256,string,string)":"5a644be0","setTokenMetadataRaw(uint256,string)":"32ab19fa","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","uri(uint256)":"0e89341c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenMetadataImmutable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenMetadataUnauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenMetadata\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_traitType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_value\",\"type\":\"string\"}],\"name\":\"setTokenAttribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_traitType\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_value\",\"type\":\"bool\"}],\"name\":\"setTokenAttribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_traitType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setTokenAttribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_traitType\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"setTokenAttribute\",\"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\":\"string\",\"name\":\"displayType\",\"type\":\"string\"}],\"internalType\":\"struct Attribute\",\"name\":\"_attribute\",\"type\":\"tuple\"}],\"name\":\"setTokenAttribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_value\",\"type\":\"string\"}],\"name\":\"setTokenMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"externalURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"animationURL\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"traitType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"displayType\",\"type\":\"string\"}],\"internalType\":\"struct Attribute[]\",\"name\":\"attributes\",\"type\":\"tuple[]\"}],\"internalType\":\"struct StdTokenMetadata\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"setTokenMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_jsonBlob\",\"type\":\"string\"}],\"name\":\"setTokenMetadataRaw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"TokenMetadataImmutable(uint256)\":[{\"details\":\"Modifying immutable token metadata is not allowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"exists(uint256)\":{\"details\":\"Indicates whether any token exist with a given id, or not.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getTokenMetadata(uint256)\":{\"details\":\"Get the metadata for a given token ID\",\"params\":{\"_tokenId\":\"The ID of the token to get metadata for\"},\"returns\":{\"_0\":\"string The token's metadata as a JSON string\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"uri(uint256)\":{\"details\":\"Returns the URI of the token with the given id.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/upgradeable/token/ERC721/ERC721UpdatableUpgradeable.sol\":\"ERC721UpdatableUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@forma-dev/sdk/=/\",\":@hyperlane-xyz/=node_modules/@hyperlane-xyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@thirdweb-dev/=node_modules/@thirdweb-dev/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"contracts/interfaces/metadata/ITokenMetadata.sol\":{\"keccak256\":\"0xab52365f3f0d8a5a577958d64b7323df18bad08401263e62fe08dc54469cc72e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f55ac5c21f7ef36bd73c574990cabb3287e3889409c4f5e4bc9b8bb6742cc2e\",\"dweb:/ipfs/QmWErfZo2CcsX4AgnHe89kN1NPvVhWJ2CmnvjVwHcMmhxF\"]},\"contracts/interfaces/metadata/IUpdatableTokenMetadata.sol\":{\"keccak256\":\"0xfcd80a0af530778c68787be91cc65b869a79d5ebe0b37914f3c8f990c9ea2111\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d5fde96c8b486c5b339d1179f9c52748f73a6dff2a17d6538ca41dad3ec5b4\",\"dweb:/ipfs/QmPULEyQmpWQ7EkHXiiZXeYXP7nLmZMBgbTPXVuPE4NkU5\"]},\"contracts/interfaces/precompile/IJsonStore.sol\":{\"keccak256\":\"0xddb6c740c6dcce5609af645b9799d342784a3aceb8e38d1d02b29ec17dec972d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34983096de446cbd7a59bd0b50c4e40e0691087519789b9c535926f002d92d61\",\"dweb:/ipfs/QmdZF3vVDVSi7idqinVNEhED7z3U1Dr12Cji7Zvw27kYqC\"]},\"contracts/interfaces/precompile/IJsonUtil.sol\":{\"keccak256\":\"0xa6f22ee9d07316b358fd172ef91c391e43d91c2cf0bdb25b5ca0f23c6017099d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4fb5460ac87905c749bff6c2dd9179586fbfb7e457bd158dc77ef4c8bcee1b26\",\"dweb:/ipfs/QmWQtqPHqsTeq5S5cduVuZzEw6fmDwrr5U95Qtj1n68EHM\"]},\"contracts/interfaces/precompile/IStrings.sol\":{\"keccak256\":\"0x594302ecdd3951e3cdc1edd4989d9437be06c7da46f594ff3d1079449d59b119\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92074aed23b56d9256a92344044f1dd304cec7778ebb72fab7e06c1e0a7b3bd7\",\"dweb:/ipfs/QmYco4DjTDn6WTA7Vbcx1fL1xSuRSXsKGPDBkhaNtSv2R6\"]},\"contracts/metadata/TokenMetadata.sol\":{\"keccak256\":\"0x35eb053c3198cbd25657767dcf0c5f65749f6723dcf3954aa50ee6230d8a0d06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bee733e9752d8d426e41b1b61c2c9c2675b9a98b2a60df8bc50563bc2f9f57d\",\"dweb:/ipfs/QmYPNypoRhY3kX4D3PMCXFK1Ex6NU2pUuFYRBy5LQaRvuD\"]},\"contracts/metadata/TokenMetadataEditor.sol\":{\"keccak256\":\"0xa28c720a53b92fe6aa93d5f410fe2d2cb1f3e4e0b72ed28f3ecde6f9e70f3517\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54ceb9b34f1e745e8f089b9ec227dff5f2aadfb320d09af60d34b9e33450232b\",\"dweb:/ipfs/QmS72jcQw8VboYGuNYJWA89ebtTcocNyv4RFNc9Bonq7QG\"]},\"contracts/metadata/TokenMetadataUtils.sol\":{\"keccak256\":\"0xc84e64a72225c46e7ac47e12cce3331feba7a48dc1f4690ff2ec387fcdc7cff7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa52c77e30cf9c798f366af0baefb7941d58042cf896a693e47f21d30c380d0c\",\"dweb:/ipfs/QmaQUv1hBvCsQq6mghvHmcJTbtLcnTfe6ZxkW3uf7WXFo3\"]},\"contracts/metadata/UpdatableTokenMetadata.sol\":{\"keccak256\":\"0xfb6810b2e278a908a554d3048d7b75a1d901b7a7aff83ddf1e7fe514cfb88ab2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04993471a07ead4d173d45be6f25b0e934d94b1c17917fd336a33ce2b4f2c365\",\"dweb:/ipfs/QmatNWA9fS12zoQUPJH4QWDNBmdDg7gTxr2DxM8bGdwTDS\"]},\"contracts/upgradeable/metadata/UpdatableTokenMetadataUpgradeable.sol\":{\"keccak256\":\"0xf4d497cb167bd408e3a9fb4bef84fb2a76b917a48fed45d02518ff903b7da48c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfc16112ae937b36ad166cc20dc9437b4f6f9891972ee4cc423ead74283292a\",\"dweb:/ipfs/Qmbm5ayivTveTS9qMNNWyYWdxoLxCeoF6k7o8coDAZ7ddN\"]},\"contracts/upgradeable/token/ERC721/ERC721BaseUpgradeable.sol\":{\"keccak256\":\"0x8b3c0276fbff34d9413bfc1279888211c28f83c1835a909e3138612fc6365f92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4695e0ee1e8784f15162a9b8e5e4c2f9c67e16bed12fb57d8e610e228560254a\",\"dweb:/ipfs/QmZ1oZASJokMmJYice9V2BHjDM3cWKMVmKwVFFQi6rj15f\"]},\"contracts/upgradeable/token/ERC721/ERC721UpdatableUpgradeable.sol\":{\"keccak256\":\"0xac7d45f0776f5425e1ae752a9bb41aafd5fae646c70714f624db321ba8f5bec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18ad115fc5ac4601cc6be177bb7e479ac1e1566a5d96752fbecc72ff384c0a07\",\"dweb:/ipfs/QmP14eiA4htnyHJVNooS4hPbNzMKYSyNgoRDMvgUjJ4jZW\"]},\"contracts/utils/JsonStore.sol\":{\"keccak256\":\"0x0817c25c65db6b0fdeecaf6f25c43fd7e88a0517439e31375eaac66aa646c844\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://caba5fc4a7af27e88e6a4a915db29237a5062d86b4d022bd5667d30ae50561e8\",\"dweb:/ipfs/Qmd5rAmnBaDToYpNmZYZEsJ8vL9wscX5wc8upsDVB75Brz\"]},\"contracts/utils/JsonUtil.sol\":{\"keccak256\":\"0x1591362aa1cb383ce71802b4f22161722fbd63542d5cc1416346ed6675873bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7aa2475786942e01af5ce19d2b9c26eae0a21ea693e6b788b4e8ba59465926a9\",\"dweb:/ipfs/QmVq4DjGvU9AquhREvH6o4oM2Dys7u2j2EN2yftzfHpnvj\"]},\"contracts/utils/Strings.sol\":{\"keccak256\":\"0xa3d264aed3c5defc3e1c12f04343c0499e4bde2ff62667ba2ca56845484ef178\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f37360fd4aa8162db383a18e7805f3ccb397f920b3432c795b88d86e621b6581\",\"dweb:/ipfs/QmSo7bgEzqbSNa5BRUDu9ohWWfvTSgEnih1zphQzBAGF84\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenMetadataImmutable"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenMetadataUnauthorized"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"MetadataUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenMetadata","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_traitType","type":"string"},{"internalType":"string","name":"_value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setTokenAttribute"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_traitType","type":"string"},{"internalType":"bool","name":"_value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setTokenAttribute"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_traitType","type":"string"},{"internalType":"uint256","name":"_value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setTokenAttribute"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_traitType","type":"string"},{"internalType":"int256","name":"_value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"setTokenAttribute"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"struct Attribute","name":"_attribute","type":"tuple","components":[{"internalType":"string","name":"traitType","type":"string"},{"internalType":"string","name":"value","type":"string"},{"internalType":"string","name":"displayType","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"setTokenAttribute"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_path","type":"string"},{"internalType":"string","name":"_value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setTokenMetadata"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"struct StdTokenMetadata","name":"_data","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"image","type":"string"},{"internalType":"string","name":"externalURL","type":"string"},{"internalType":"string","name":"animationURL","type":"string"},{"internalType":"struct Attribute[]","name":"attributes","type":"tuple[]","components":[{"internalType":"string","name":"traitType","type":"string"},{"internalType":"string","name":"value","type":"string"},{"internalType":"string","name":"displayType","type":"string"}]}]}],"stateMutability":"nonpayable","type":"function","name":"setTokenMetadata"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_jsonBlob","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setTokenMetadataRaw"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"exists(uint256)":{"details":"Indicates whether any token exist with a given id, or not."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getTokenMetadata(uint256)":{"details":"Get the metadata for a given token ID","params":{"_tokenId":"The ID of the token to get metadata for"},"returns":{"_0":"string The token's metadata as a JSON string"}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"uri(uint256)":{"details":"Returns the URI of the token with the given id."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forma-dev/sdk/=/","@hyperlane-xyz/=node_modules/@hyperlane-xyz/","@openzeppelin/=node_modules/@openzeppelin/","@thirdweb-dev/=node_modules/@thirdweb-dev/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/upgradeable/token/ERC721/ERC721UpdatableUpgradeable.sol":"ERC721UpdatableUpgradeable"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/interfaces/metadata/ITokenMetadata.sol":{"keccak256":"0xab52365f3f0d8a5a577958d64b7323df18bad08401263e62fe08dc54469cc72e","urls":["bzz-raw://9f55ac5c21f7ef36bd73c574990cabb3287e3889409c4f5e4bc9b8bb6742cc2e","dweb:/ipfs/QmWErfZo2CcsX4AgnHe89kN1NPvVhWJ2CmnvjVwHcMmhxF"],"license":"MIT"},"contracts/interfaces/metadata/IUpdatableTokenMetadata.sol":{"keccak256":"0xfcd80a0af530778c68787be91cc65b869a79d5ebe0b37914f3c8f990c9ea2111","urls":["bzz-raw://59d5fde96c8b486c5b339d1179f9c52748f73a6dff2a17d6538ca41dad3ec5b4","dweb:/ipfs/QmPULEyQmpWQ7EkHXiiZXeYXP7nLmZMBgbTPXVuPE4NkU5"],"license":"MIT"},"contracts/interfaces/precompile/IJsonStore.sol":{"keccak256":"0xddb6c740c6dcce5609af645b9799d342784a3aceb8e38d1d02b29ec17dec972d","urls":["bzz-raw://34983096de446cbd7a59bd0b50c4e40e0691087519789b9c535926f002d92d61","dweb:/ipfs/QmdZF3vVDVSi7idqinVNEhED7z3U1Dr12Cji7Zvw27kYqC"],"license":"MIT"},"contracts/interfaces/precompile/IJsonUtil.sol":{"keccak256":"0xa6f22ee9d07316b358fd172ef91c391e43d91c2cf0bdb25b5ca0f23c6017099d","urls":["bzz-raw://4fb5460ac87905c749bff6c2dd9179586fbfb7e457bd158dc77ef4c8bcee1b26","dweb:/ipfs/QmWQtqPHqsTeq5S5cduVuZzEw6fmDwrr5U95Qtj1n68EHM"],"license":"MIT"},"contracts/interfaces/precompile/IStrings.sol":{"keccak256":"0x594302ecdd3951e3cdc1edd4989d9437be06c7da46f594ff3d1079449d59b119","urls":["bzz-raw://92074aed23b56d9256a92344044f1dd304cec7778ebb72fab7e06c1e0a7b3bd7","dweb:/ipfs/QmYco4DjTDn6WTA7Vbcx1fL1xSuRSXsKGPDBkhaNtSv2R6"],"license":"MIT"},"contracts/metadata/TokenMetadata.sol":{"keccak256":"0x35eb053c3198cbd25657767dcf0c5f65749f6723dcf3954aa50ee6230d8a0d06","urls":["bzz-raw://5bee733e9752d8d426e41b1b61c2c9c2675b9a98b2a60df8bc50563bc2f9f57d","dweb:/ipfs/QmYPNypoRhY3kX4D3PMCXFK1Ex6NU2pUuFYRBy5LQaRvuD"],"license":"MIT"},"contracts/metadata/TokenMetadataEditor.sol":{"keccak256":"0xa28c720a53b92fe6aa93d5f410fe2d2cb1f3e4e0b72ed28f3ecde6f9e70f3517","urls":["bzz-raw://54ceb9b34f1e745e8f089b9ec227dff5f2aadfb320d09af60d34b9e33450232b","dweb:/ipfs/QmS72jcQw8VboYGuNYJWA89ebtTcocNyv4RFNc9Bonq7QG"],"license":"MIT"},"contracts/metadata/TokenMetadataUtils.sol":{"keccak256":"0xc84e64a72225c46e7ac47e12cce3331feba7a48dc1f4690ff2ec387fcdc7cff7","urls":["bzz-raw://fa52c77e30cf9c798f366af0baefb7941d58042cf896a693e47f21d30c380d0c","dweb:/ipfs/QmaQUv1hBvCsQq6mghvHmcJTbtLcnTfe6ZxkW3uf7WXFo3"],"license":"MIT"},"contracts/metadata/UpdatableTokenMetadata.sol":{"keccak256":"0xfb6810b2e278a908a554d3048d7b75a1d901b7a7aff83ddf1e7fe514cfb88ab2","urls":["bzz-raw://04993471a07ead4d173d45be6f25b0e934d94b1c17917fd336a33ce2b4f2c365","dweb:/ipfs/QmatNWA9fS12zoQUPJH4QWDNBmdDg7gTxr2DxM8bGdwTDS"],"license":"MIT"},"contracts/upgradeable/metadata/UpdatableTokenMetadataUpgradeable.sol":{"keccak256":"0xf4d497cb167bd408e3a9fb4bef84fb2a76b917a48fed45d02518ff903b7da48c","urls":["bzz-raw://6bfc16112ae937b36ad166cc20dc9437b4f6f9891972ee4cc423ead74283292a","dweb:/ipfs/Qmbm5ayivTveTS9qMNNWyYWdxoLxCeoF6k7o8coDAZ7ddN"],"license":"MIT"},"contracts/upgradeable/token/ERC721/ERC721BaseUpgradeable.sol":{"keccak256":"0x8b3c0276fbff34d9413bfc1279888211c28f83c1835a909e3138612fc6365f92","urls":["bzz-raw://4695e0ee1e8784f15162a9b8e5e4c2f9c67e16bed12fb57d8e610e228560254a","dweb:/ipfs/QmZ1oZASJokMmJYice9V2BHjDM3cWKMVmKwVFFQi6rj15f"],"license":"MIT"},"contracts/upgradeable/token/ERC721/ERC721UpdatableUpgradeable.sol":{"keccak256":"0xac7d45f0776f5425e1ae752a9bb41aafd5fae646c70714f624db321ba8f5bec7","urls":["bzz-raw://18ad115fc5ac4601cc6be177bb7e479ac1e1566a5d96752fbecc72ff384c0a07","dweb:/ipfs/QmP14eiA4htnyHJVNooS4hPbNzMKYSyNgoRDMvgUjJ4jZW"],"license":"MIT"},"contracts/utils/JsonStore.sol":{"keccak256":"0x0817c25c65db6b0fdeecaf6f25c43fd7e88a0517439e31375eaac66aa646c844","urls":["bzz-raw://caba5fc4a7af27e88e6a4a915db29237a5062d86b4d022bd5667d30ae50561e8","dweb:/ipfs/Qmd5rAmnBaDToYpNmZYZEsJ8vL9wscX5wc8upsDVB75Brz"],"license":"MIT"},"contracts/utils/JsonUtil.sol":{"keccak256":"0x1591362aa1cb383ce71802b4f22161722fbd63542d5cc1416346ed6675873bc2","urls":["bzz-raw://7aa2475786942e01af5ce19d2b9c26eae0a21ea693e6b788b4e8ba59465926a9","dweb:/ipfs/QmVq4DjGvU9AquhREvH6o4oM2Dys7u2j2EN2yftzfHpnvj"],"license":"MIT"},"contracts/utils/Strings.sol":{"keccak256":"0xa3d264aed3c5defc3e1c12f04343c0499e4bde2ff62667ba2ca56845484ef178","urls":["bzz-raw://f37360fd4aa8162db383a18e7805f3ccb397f920b3432c795b88d86e621b6581","dweb:/ipfs/QmSo7bgEzqbSNa5BRUDu9ohWWfvTSgEnih1zphQzBAGF84"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420","urls":["bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f","dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8","urls":["bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45","dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4","urls":["bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7","dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49","urls":["bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22","dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"id":62}