0 txs
0 calls
constructor
constructor()
functions
getFileExtension
purefunction getFileExtension(uint8 imageType) pure returns (uint8)
getFileExtensionString
purefunction getFileExtensionString(uint8 imageType) pure returns (string)
getImageAsDataURL
viewfunction getImageAsDataURL(uint256 tokenId, uint8 imageType) view returns (string)
getImageBase64
viewfunction getImageBase64(uint256 tokenId, uint8 imageType) view returns (bytes)
getMimeType
purefunction getMimeType(uint8 imageType) pure returns (string)
getSeed
viewfunction getSeed(uint256 tokenId) view returns (string)
MAX_TOKENS
viewfunction MAX_TOKENS() view returns (uint256)
owner
viewfunction owner() view returns (address result)
ownershipHandoverExpiresAt
viewfunction ownershipHandoverExpiresAt(address pendingOwner) view returns (uint256 result)
addImage
nonpayablefunction addImage(uint256 tokenId, uint8 imageType, bytes imageData)
addImageMany
nonpayablefunction addImageMany(uint256[] tokenIds, uint8[] imageTypes, bytes[] imageDatas)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
completeOwnershipHandover
payablefunction completeOwnershipHandover(address pendingOwner) payable
renounceOwnership
payablefunction renounceOwnership() payable
requestOwnershipHandover
payablefunction requestOwnershipHandover() payable
setSeed
nonpayablefunction setSeed(uint256 tokenId, string seedValue)
setSeedMany
nonpayablefunction setSeedMany(uint256[] tokenIds, string[] seedValues)
transferOwnership
payablefunction transferOwnership(address newOwner) payable
events
ImageAdded
event ImageAdded(uint256 indexed tokenId, uint8 indexed imageType)
MimeTypeSet
event MimeTypeSet(uint8 indexed imageType, string mimeType)
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
SeedSet
event SeedSet(uint256 indexed tokenId, string seed)
errors
AlreadyInitialized
error AlreadyInitialized()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
Unauthorized
error Unauthorized()
creation bytecode
0x608060405234801561001057600080fd5b50600160005561001f33610024565b610060565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6118548061006f6000396000f3fe6080604052600436106101095760003560e01c806390a808ca11610095578063e9d1f01011610064578063e9d1f0101461028a578063f04e283e146102b7578063f2fde38b146102ca578063f47c84c5146102dd578063fee81cf41461030157600080fd5b806390a808ca1461020a578063d34651631461022a578063df07c2771461024a578063e0d4ea371461026a57600080fd5b806354d1f13d116100dc57806354d1f13d1461018e578063715018a61461019657806378a61ee31461019e578063794a4fd7146101be5780638da5cb5b146101de57600080fd5b8063256929621461010e5780632ce76cfe146101185780633593ba331461014e5780634d31d2241461016e575b600080fd5b610116610334565b005b34801561012457600080fd5b5061013861013336600461111b565b610384565b6040516101459190611186565b60405180910390f35b34801561015a57600080fd5b506101166101693660046111e5565b61048c565b34801561017a57600080fd5b50610116610189366004611251565b61062e565b61011661074e565b61011661078a565b3480156101aa57600080fd5b506101386101b93660046112d8565b61079e565b3480156101ca57600080fd5b506101166101d936600461131a565b6108ba565b3480156101ea57600080fd5b50638b78c6d819546040516001600160a01b039091168152602001610145565b34801561021657600080fd5b506101166102253660046113d5565b610945565b34801561023657600080fd5b5061013861024536600461111b565b610bd3565b34801561025657600080fd5b506101386102653660046112d8565b610be4565b34801561027657600080fd5b5061013861028536600461146f565b610d78565b34801561029657600080fd5b506102aa6102a536600461111b565b610e1a565b604051610145919061149e565b6101166102c53660046114c6565b610ef9565b6101166102d83660046114c6565b610f39565b3480156102e957600080fd5b506102f361138881565b604051908152602001610145565b34801561030d57600080fd5b506102f361031c3660046114c6565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600061039183610e1a565b905060008160028111156103a7576103a7611488565b036103cd57505060408051808201909152600381526233b4b360e91b6020820152919050565b60018160028111156103e1576103e1611488565b03610407575050604080518082019091526003815262706e6760e81b6020820152919050565b600281600281111561041b5761041b611488565b0361044157505060408051808201909152600381526273766760e81b6020820152919050565b60405162461bcd60e51b81526020600482015260156024820152742ab735b737bbb7102334b632a2bc3a32b739b4b7b760591b60448201526064015b60405180910390fd5b50919050565b610494610f60565b8281146104db5760405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161047d565b60005b838110156106275760008585838181106104fa576104fa6114ef565b90506020020135118015610528575061138885858381811061051e5761051e6114ef565b9050602002013511155b6105445760405162461bcd60e51b815260040161047d90611505565b828282818110610556576105566114ef565b9050602002810190610568919061152e565b6002600088888681811061057e5761057e6114ef565b90506020020135815260200190815260200160002091826105a09291906115f4565b508484828181106105b3576105b36114ef565b905060200201357f826e466ca9a689279342ecf0552536cb9256761c9922aeafa8c27c8bef70d19f8484848181106105ed576105ed6114ef565b90506020028101906105ff919061152e565b60405161060d9291906116b4565b60405180910390a28061061f816116e3565b9150506104de565b5050505050565b610636610f7b565b61063e610f60565b60008411801561065057506113888411155b61066c5760405162461bcd60e51b815260040161047d90611505565b806106af5760405162461bcd60e51b8152602060048201526013602482015272125b5859d94819185d18481c995c5d5a5c9959606a1b604482015260640161047d565b600084815260016020526040812083918391908660048111156106d4576106d4611488565b60048111156106e5576106e5611488565b815260200190815260200160002091826107009291906115f4565b5082600481111561071357610713611488565b60405185907fc796353bbd3134824434ef44f678ea63dcdf850b0e7d711543756094e2eb339f90600090a36107486001600055565b50505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610792610f60565b61079c6000610fd4565b565b600082815260016020526040812060609190818460048111156107c3576107c3611488565b60048111156107d4576107d4611488565b815260200190815260200160002080546107ed90611575565b80601f016020809104026020016040519081016040528092919081815260200182805461081990611575565b80156108665780601f1061083b57610100808354040283529160200191610866565b820191906000526020600020905b81548152906001019060200180831161084957829003601f168201915b5050505050905060008151116108b35760405162461bcd60e51b81526020600482015260126024820152714e6f20696d61676520617661696c61626c6560701b604482015260640161047d565b9392505050565b6108c2610f60565b6000821180156108d457506113888211155b6108f05760405162461bcd60e51b815260040161047d90611505565b6000828152600260205260409020610908828261170a565b50817f826e466ca9a689279342ecf0552536cb9256761c9922aeafa8c27c8bef70d19f826040516109399190611186565b60405180910390a25050565b61094d610f7b565b610955610f60565b848314801561096357508481145b6109a75760405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161047d565b60005b85811015610bc05760008787838181106109c6576109c66114ef565b905060200201351180156109f457506113888787838181106109ea576109ea6114ef565b9050602002013511155b610a105760405162461bcd60e51b815260040161047d90611505565b6000838383818110610a2457610a246114ef565b9050602002810190610a36919061152e565b905011610a7b5760405162461bcd60e51b8152602060048201526013602482015272125b5859d94819185d18481c995c5d5a5c9959606a1b604482015260640161047d565b828282818110610a8d57610a8d6114ef565b9050602002810190610a9f919061152e565b600160008a8a86818110610ab557610ab56114ef565b9050602002013581526020019081526020016000206000888886818110610ade57610ade6114ef565b9050602002016020810190610af3919061111b565b6004811115610b0457610b04611488565b6004811115610b1557610b15611488565b81526020019081526020016000209182610b309291906115f4565b50848482818110610b4357610b436114ef565b9050602002016020810190610b58919061111b565b6004811115610b6957610b69611488565b878783818110610b7b57610b7b6114ef565b905060200201357fc796353bbd3134824434ef44f678ea63dcdf850b0e7d711543756094e2eb339f60405160405180910390a380610bb8816116e3565b9150506109aa565b50610bcb6001600055565b505050505050565b6060610bde82611012565b92915050565b60008281526001602052604081206060919081846004811115610c0957610c09611488565b6004811115610c1a57610c1a611488565b81526020019081526020016000208054610c3390611575565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5f90611575565b8015610cac5780601f10610c8157610100808354040283529160200191610cac565b820191906000526020600020905b815481529060010190602001808311610c8f57829003601f168201915b505050505090506000815111610cf95760405162461bcd60e51b81526020600482015260126024820152714e6f20696d61676520617661696c61626c6560701b604482015260640161047d565b6000610d0484610bd3565b90506000815111610d4c5760405162461bcd60e51b8152602060048201526012602482015271556e6b6e6f776e20696d616765207479706560701b604482015260640161047d565b8082604051602001610d5f9291906117ca565b6040516020818303038152906040529250505092915050565b6000818152600260205260409020805460609190610d9590611575565b80601f0160208091040260200160405190810160405280929190818152602001828054610dc190611575565b8015610e0e5780601f10610de357610100808354040283529160200191610e0e565b820191906000526020600020905b815481529060010190602001808311610df157829003601f168201915b50505050509050919050565b600080826004811115610e2f57610e2f611488565b1480610e4c57506001826004811115610e4a57610e4a611488565b145b15610e5957506000919050565b6002826004811115610e6d57610e6d611488565b1480610e8a57506003826004811115610e8857610e88611488565b145b15610e9757506001919050565b6004826004811115610eab57610eab611488565b03610eb857506002919050565b60405162461bcd60e51b8152602060048201526011602482015270556e6b6e6f776e20496d6167655479706560781b604482015260640161047d565b919050565b610f01610f60565b63389a75e1600c52806000526020600c208054421115610f2957636f5e88186000526004601cfd5b60009055610f3681610fd4565b50565b610f41610f60565b8060601b610f5757637448fbae6000526004601cfd5b610f3681610fd4565b638b78c6d81954331461079c576382b429006000526004601cfd5b600260005403610fcd5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161047d565b6002600055565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6060600082600481111561102857611028611488565b14806110455750600182600481111561104357611043611488565b145b1561106f57505060408051808201909152600981526834b6b0b3b297b3b4b360b91b602082015290565b600282600481111561108357611083611488565b14806110a05750600382600481111561109e5761109e611488565b145b156110ca575050604080518082019091526009815268696d6167652f706e6760b81b602082015290565b60048260048111156110de576110de611488565b03610eb857505060408051808201909152600d81526c1a5b5859d94bdcdd99cade1b5b609a1b602082015290565b803560058110610ef457600080fd5b60006020828403121561112d57600080fd5b6108b38261110c565b60005b83811015611151578181015183820152602001611139565b50506000910152565b60008151808452611172816020860160208601611136565b601f01601f19169290920160200192915050565b6020815260006108b3602083018461115a565b60008083601f8401126111ab57600080fd5b50813567ffffffffffffffff8111156111c357600080fd5b6020830191508360208260051b85010111156111de57600080fd5b9250929050565b600080600080604085870312156111fb57600080fd5b843567ffffffffffffffff8082111561121357600080fd5b61121f88838901611199565b9096509450602087013591508082111561123857600080fd5b5061124587828801611199565b95989497509550505050565b6000806000806060858703121561126757600080fd5b843593506112776020860161110c565b9250604085013567ffffffffffffffff8082111561129457600080fd5b818701915087601f8301126112a857600080fd5b8135818111156112b757600080fd5b8860208285010111156112c957600080fd5b95989497505060200194505050565b600080604083850312156112eb57600080fd5b823591506112fb6020840161110c565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561132d57600080fd5b82359150602083013567ffffffffffffffff8082111561134c57600080fd5b818501915085601f83011261136057600080fd5b81358181111561137257611372611304565b604051601f8201601f19908116603f0116810190838211818310171561139a5761139a611304565b816040528281528860208487010111156113b357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080600080606087890312156113ee57600080fd5b863567ffffffffffffffff8082111561140657600080fd5b6114128a838b01611199565b9098509650602089013591508082111561142b57600080fd5b6114378a838b01611199565b9096509450604089013591508082111561145057600080fd5b5061145d89828a01611199565b979a9699509497509295939492505050565b60006020828403121561148157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60208101600383106114c057634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156114d857600080fd5b81356001600160a01b03811681146108b357600080fd5b634e487b7160e01b600052603260045260246000fd5b6020808252600f908201526e125b9d985b1a59081d1bdad95b9a59608a1b604082015260600190565b6000808335601e1984360301811261154557600080fd5b83018035915067ffffffffffffffff82111561156057600080fd5b6020019150368190038213156111de57600080fd5b600181811c9082168061158957607f821691505b60208210810361048657634e487b7160e01b600052602260045260246000fd5b601f8211156115ef57600081815260208120601f850160051c810160208610156115d05750805b601f850160051c820191505b81811015610bcb578281556001016115dc565b505050565b67ffffffffffffffff83111561160c5761160c611304565b6116208361161a8354611575565b836115a9565b6000601f841160018114611654576000851561163c5750838201355b600019600387901b1c1916600186901b178355610627565b600083815260209020601f19861690835b828110156116855786850135825560209485019460019092019101611665565b50868210156116a25760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006001820161170357634e487b7160e01b600052601160045260246000fd5b5060010190565b815167ffffffffffffffff81111561172457611724611304565b611738816117328454611575565b846115a9565b602080601f83116001811461176d57600084156117555750858301515b600019600386901b1c1916600185901b178555610bcb565b600085815260208120601f198616915b8281101561179c5788860151825594840194600190910190840161177d565b50858210156117ba5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b643230ba309d60d91b8152600083516117ea816005850160208801611136565b670ed8985cd94d8d0b60c21b600591840191820152835161181281600d840160208801611136565b01600d0194935050505056fea264697066735822122032ed58a2c9def5e25969c9c69041c96fea5e1203a4b6ca97c3ca5c41cc8a02ec64736f6c63430008140033