0 txs
10 calls
constructor
constructor(string _version)
functions
hasAuthority
viewfunction hasAuthority(address authority) view returns (bool)
hatId
purefunction hatId() pure returns (uint256)
HATS
purefunction HATS() pure returns (address)
IMPLEMENTATION
purefunction IMPLEMENTATION() pure returns (address)
version_
viewfunction version_() view returns (string)
version
viewfunction version() view returns (string)
changeHatDetails
nonpayablefunction changeHatDetails(uint256 hatId, string newDetails)
changeHatImageURI
nonpayablefunction changeHatImageURI(uint256 hatId, string newImageURI)
changeHatMaxSupply
nonpayablefunction changeHatMaxSupply(uint256 hatId, uint32 newMaxSupply)
createHat
nonpayablefunction createHat(uint256 _admin, string _details, uint32 _maxSupply, address _eligibility, address _toggle, bool _mutable, string _imageURI) returns (uint256)
setUp
nonpayablefunction setUp(bytes _initData)
events
CreateHatAuthorityGranted
event CreateHatAuthorityGranted(address indexed authority)
CreateHatAuthorityRevoked
event CreateHatAuthorityRevoked(address indexed authority)
HatDetailsChanged
event HatDetailsChanged(uint256 indexed hatId, string newDetails)
HatImageURIChanged
event HatImageURIChanged(uint256 indexed hatId, string newImageURI)
HatMaxSupplyChanged
event HatMaxSupplyChanged(uint256 indexed hatId, uint32 newMaxSupply)
Initialized
event Initialized(uint64 version)
errors
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
creation bytecode
0x60806040523462000037576200001e62000018620001ab565b620001d1565b620000286200003d565b61171662000715823961171690f35b62000043565b60405190565b600080fd5b601f801991011690565b634e487b7160e01b600052604160045260246000fd5b90620000749062000048565b810190811060018060401b038211176200008d57604052565b62000052565b90620000aa620000a26200003d565b928362000068565b565b600080fd5b600080fd5b600080fd5b600080fd5b60018060401b038111620000df57620000db60209162000048565b0190565b62000052565b60005b838110620000fa575050906000910152565b806020918301518185015201620000e8565b90929192620001256200011f82620000c0565b62000093565b9381855260208501908284011162000144576200014292620000e5565b565b620000bb565b9080601f830112156200016b5781602062000168935191016200010c565b90565b620000b6565b90602082820312620001a557600082015160018060401b0381116200019f576200019c92016200014a565b90565b620000b1565b620000ac565b620001ce62001e2b80380380620001c28162000093565b92833981019062000171565b90565b620001dc90620001de565b565b620001e99062000491565b565b5190565b634e487b7160e01b600052602260045260246000fd5b906001600283049216801562000228575b60208310146200022257565b620001ef565b91607f169162000216565b600052602060002090565b601f602091010490565b1b90565b919060086200026c910291620002656000198462000248565b9262000248565b9181191691161790565b90565b90565b620002956200028f6200029b9262000276565b62000279565b62000276565b90565b90565b9190620002bc620002b6620002c5936200027c565b6200029e565b9083546200024c565b9055565b600090565b620002e491620002dd620002c9565b91620002a1565b565b5b818110620002f3575050565b80620003036000600193620002ce565b01620002e7565b9190601f81116200031b575b505050565b6200032a620003559362000233565b90602062000338846200023e565b830193106200035e575b6200034d906200023e565b0190620002e6565b38808062000316565b91506200034d8192905062000342565b1c90565b906200038590600019906008026200036e565b191690565b81620003969162000372565b906002021790565b90620003aa81620001eb565b9060018060401b0382116200047d57620003d182620003ca855462000205565b856200030a565b602090601f83116001146200040b57918091620003f993600092620003fe575b50506200038a565b90555b565b90915001513880620003f1565b601f198316916200041c8562000233565b9260005b818110620004645750916002939185600196941062000447575b50505002019055620003fc565b62000459910151601f84169062000372565b90553880806200043a565b9193602060018192878701518155019501920162000420565b62000052565b906200048f916200039e565b565b6200049e90600062000483565b620004a8620005bb565b565b60401c90565b60ff1690565b620004c5620004cb91620004aa565b620004b0565b90565b620004da9054620004b6565b90565b60000190565b60001c90565b60018060401b031690565b620005036200050991620004e3565b620004e9565b90565b620005189054620004f4565b90565b60018060401b031690565b60001b90565b906200053f60018060401b039162000526565b9181191691161790565b620005626200055c62000568926200051b565b62000279565b6200051b565b90565b90565b906200058862000582620005909262000549565b6200056b565b82546200052c565b9055565b6200059f906200051b565b9052565b9190620005b99060006020850194019062000594565b565b620005c562000694565b620005d360008201620004ce565b6200066d57620005e6600082016200050c565b62000602620005fb60018060401b036200051b565b916200051b565b036200060c575b50565b6200062290600060018060401b0391016200056e565b60018060401b03620006637fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291620006596200003d565b91829182620005a3565b0390a13862000609565b620006776200003d565b63f92ee8a960e01b8152806200069060048201620004dd565b0390fd5b6200069e620006fc565b90565b600090565b90565b90565b620006c5620006bf620006cb92620006a6565b62000526565b620006a9565b90565b620006f97ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00620006ac565b90565b62000706620006a1565b5062000711620006ce565b9056fe60806040526004361015610013575b6108d8565b61001e6000356100cd565b806307ace2b5146100c857806321dbb8cb146100c35780633a4741bd146100be57806354fd4d50146100b95780637150ef88146100b4578063a4f9edbf146100af578063b052925e146100aa578063d7c81b64146100a5578063d9fd995b146100a0578063dd1bb1fc1461009b5763f737401e0361000e576108a4565b61086f565b6106ad565b610631565b6105b0565b61044a565b610390565b610301565b610246565b6101d8565b610119565b60e01c90565b60405190565b600080fd5b600080fd5b60009103126100ee57565b6100de565b90565b6100ff906100f3565b9052565b9190610117906000602085019401906100f6565b565b34610149576101293660046100e3565b610145610134610901565b61013c6100d3565b91829182610103565b0390f35b6100d9565b600080fd5b61015c816100f3565b0361016357565b600080fd5b9050359061017582610153565b565b63ffffffff1690565b61018981610177565b0361019057565b600080fd5b905035906101a282610180565b565b91906040838203126101cd57806101c16101ca9260008601610168565b93602001610195565b90565b6100de565b60000190565b34610207576101f16101eb3660046101a4565b90610a32565b6101f96100d3565b80610203816101d2565b0390f35b6100d9565b60018060a01b031690565b6102209061020c565b90565b61022c90610217565b9052565b919061024490600060208501940190610223565b565b34610276576102563660046100e3565b610272610261610b3a565b6102696100d3565b91829182610230565b0390f35b6100d9565b5190565b60209181520190565b60005b83811061029c575050906000910152565b80602091830151818501520161028b565b601f801991011690565b6102d66102df6020936102e4936102cd8161027b565b9384809361027f565b95869101610288565b6102ad565b0190565b6102fe91602082019160008184039101526102b7565b90565b34610331576103113660046100e3565b61032d61031c610c4d565b6103246100d3565b918291826102e8565b0390f35b6100d9565b90565b61034d6103486103529261020c565b610336565b61020c565b90565b61035e90610339565b90565b61036a90610355565b90565b61037690610361565b9052565b919061038e9060006020850194019061036d565b565b346103c0576103a03660046100e3565b6103bc6103ab610d14565b6103b36100d3565b9182918261037a565b0390f35b6100d9565b600080fd5b600080fd5b600080fd5b909182601f8301121561040e5781359167ffffffffffffffff831161040957602001926001830284011161040457565b6103cf565b6103ca565b6103c5565b9060208282031261044557600082013567ffffffffffffffff81116104405761043c92016103d4565b9091565b61014e565b6100de565b346104795761046361045d366004610413565b9061103f565b61046b6100d3565b80610475816101d2565b0390f35b6100d9565b909182601f830112156104b85781359167ffffffffffffffff83116104b35760200192600183028401116104ae57565b6103cf565b6103ca565b6103c5565b6104c681610217565b036104cd57565b600080fd5b905035906104df826104bd565b565b151590565b6104ef816104e1565b036104f657565b600080fd5b90503590610508826104e6565b565b909160e0828403126105ab576105238360008401610168565b92602083013567ffffffffffffffff81116105a6578161054491850161047e565b9290936105548360408301610195565b9261056281606084016104d2565b9261057082608085016104d2565b9261057e8360a083016104fb565b9260c082013567ffffffffffffffff81116105a15761059d920161047e565b9091565b61014e565b61014e565b6100de565b346105ea576105e66105d56105c636600461050a565b9796909695919594929461111c565b6105dd6100d3565b91829182610103565b0390f35b6100d9565b9060208282031261060957610606916000016104d2565b90565b6100de565b610617906104e1565b9052565b919061062f9060006020850194019061060e565b565b346106615761065d61064c6106473660046105ef565b6111d7565b6106546100d3565b9182918261061b565b0390f35b6100d9565b9190916040818403126106a8576106808360008301610168565b92602082013567ffffffffffffffff81116106a35761069f920161047e565b9091565b61014e565b6100de565b346106dc576106c66106c0366004610666565b91611230565b6106ce6100d3565b806106d8816101d2565b0390f35b6100d9565b634e487b7160e01b600052600060045260246000fd5b634e487b7160e01b600052602260045260246000fd5b906001600283049216801561072d575b602083101461072857565b6106f7565b91607f169161071d565b60209181520190565b600052602060002090565b906000929180549061076661075f8361070d565b8094610737565b916001811690816000146107bf5750600114610782575b505050565b61078f9192939450610740565b916000925b8184106107a7575050019038808061077d565b60018160209295939554848601520191019290610794565b92949550505060ff191682521515602002019038808061077d565b906107e49161074b565b90565b634e487b7160e01b600052604160045260246000fd5b90610807906102ad565b810190811067ffffffffffffffff82111761082157604052565b6107e7565b9061084661083f926108366100d3565b938480926107da565b03836107fd565b565b9060001061085c5761085990610826565b90565b6106e1565b61086c600080610848565b90565b3461089f5761087f3660046100e3565b61089b61088a610861565b6108926100d3565b918291826102e8565b0390f35b6100d9565b346108d3576108bd6108b7366004610666565b91611319565b6108c56100d3565b806108cf816101d2565b0390f35b6100d9565b600080fd5b600090565b90565b6108f96108f46108fe926108e2565b610336565b6100f3565b90565b6109096108dd565b5061091c61091760286108e5565b611402565b90565b60007f4e6f7420617574686f72697a6564000000000000000000000000000000000000910152565b610954600e60209261027f565b61095d8161091f565b0190565b6109779060208101906000818303910152610947565b90565b1561098157565b6109896100d3565b62461bcd60e51b81528061099f60048201610961565b0390fd5b600080fd5b60e01b90565b60009103126109b957565b6100de565b6109c790610177565b9052565b9160206109ed9294936109e6604082019660008301906100f6565b01906109be565b565b6109f76100d3565b3d6000823e3d90fd5b610a14610a0f610a19926100f3565b610336565b6100f3565b90565b9190610a30906000602085019401906109be565b565b610a43610a3e336111d7565b61097a565b610a53610a4e610d14565b610361565b6321dbb8cb828492803b15610b1157610a8060008094610a8b610a746100d3565b978896879586946109a8565b8452600484016109cb565b03925af18015610b0c57610adf575b50610ada610ac87fb1141d53812d55ffe5a4ca05e686728ebe52d8e4fc66057d6e54724c01a77f5692610a00565b92610ad16100d3565b91829182610a1c565b0390a2565b610aff9060003d8111610b05575b610af781836107fd565b8101906109ae565b38610a9a565b503d610aed565b6109ef565b6109a3565b600090565b90565b610b32610b2d610b3792610b1b565b610336565b6100f3565b90565b610b42610b16565b50610b55610b506000610b1e565b611418565b90565b606090565b610b6690610339565b90565b610b7290610b5d565b90565b610b7e90610355565b90565b600080fd5b90610b99610b926100d3565b92836107fd565b565b67ffffffffffffffff8111610bb957610bb56020916102ad565b0190565b6107e7565b90929192610bd3610bce82610b9b565b610b86565b93818552602085019082840111610bef57610bed92610288565b565b610b81565b9080601f83011215610c1257816020610c0f93519101610bbe565b90565b6103c5565b90602082820312610c4857600082015167ffffffffffffffff8111610c4357610c409201610bf4565b90565b61014e565b6100de565b610c55610b58565b50610c896000610c73610c6e610c69610b3a565b610b69565b610b75565b63dd1bb1fc90610c816100d3565b9384926109a8565b82528180610c99600482016101d2565b03915afa908115610cd357600091610cb0575b5090565b610ccd91503d806000833e610cc581836107fd565b810190610c17565b38610cac565b6109ef565b600090565b90565b610cf4610cef610cf992610cdd565b610336565b6100f3565b90565b610d0590610339565b90565b610d1190610cfc565b90565b610d1c610cd8565b50610d37610d32610d2d6014610ce0565b611418565b610d08565b90565b60401c90565b60ff1690565b610d52610d5791610d3a565b610d40565b90565b610d649054610d46565b90565b60001c90565b67ffffffffffffffff1690565b610d86610d8b91610d67565b610d6d565b90565b610d989054610d7a565b90565b67ffffffffffffffff1690565b610dbc610db7610dc192610b1b565b610336565b610d9b565b90565b90565b610ddb610dd6610de092610dc4565b610336565b610d9b565b90565b610dec90610355565b90565b60001b90565b90610e0867ffffffffffffffff91610def565b9181191691161790565b610e26610e21610e2b92610d9b565b610336565b610d9b565b90565b90565b90610e46610e41610e4d92610e12565b610e2e565b8254610df5565b9055565b60401b90565b90610e6b68ff000000000000000091610e51565b9181191691161790565b610e7e906104e1565b90565b90565b90610e99610e94610ea092610e75565b610e81565b8254610e57565b9055565b610ead90610dc7565b9052565b9190610ec590600060208501940190610ea4565b565b90610ed0611431565b91610ee6610ee060008501610d5a565b156104e1565b91610ef360008501610d8e565b80610f07610f016000610da8565b91610d9b565b148061102c575b90610f22610f1c6001610dc7565b91610d9b565b1480611003575b610f349091156104e1565b9081610ff2575b50610fcf57610f6591610f5a610f516001610dc7565b60008701610e31565b83610fbc575b611033565b610f6d575b50565b610f7b906000809101610e84565b6001610fb37fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291610faa6100d3565b91829182610eb1565b0390a138610f6a565b610fca600160008701610e84565b610f60565b610fd76100d3565b63f92ee8a960e01b815280610fee600482016101d2565b0390fd5b610ffd9150156104e1565b38610f3b565b50610f3461101030610de3565b3b61102461101e6000610b1e565b916100f3565b149050610f29565b5083610f0e565b9061103d91611495565b565b9061104991610ec7565b565b9050519061105882610153565b565b90602082820312611074576110719160000161104b565b90565b6100de565b90826000939282370152565b919061109f81611098816110a49561027f565b8095611079565b6102ad565b0190565b946110f8906110ee6110e3886111199d9b97611102976110d661110c9b9f9d98600060e086019501906100f6565b8b830360208d0152611085565b9a60408901906109be565b6060870190610223565b6080850190610223565b60a083019061060e565b60c0818503910152611085565b90565b919792600093602098611188939861117d97986111376108dd565b50611149611144336111d7565b61097a565b611159611154610d14565b610361565b9963b052925e979b9d959091929394956111716100d3565b9e8f9d8e9c8d9b6109a8565b8b5260048b016110a8565b03925af19081156111cd5760009161119f575b5090565b6111c0915060203d81116111c6575b6111b881836107fd565b81019061105a565b3861119b565b503d6111ae565b6109ef565b600090565b6111e9906111e36111d2565b50611525565b90565b91611212939192611205604082019460008301906100f6565b6020818503910152611085565b90565b909161122d9260208301926000818503910152611085565b90565b61124161123c336111d7565b61097a565b61125161124c610d14565b610361565b63d9fd995b8284928692813b156113145760006112819161128c82966112756100d3565b988997889687956109a8565b8552600485016111ec565b03925af1801561130f576112e2575b5090916112c87f26bb402a5ddddf109a54486ab4d62a69ae00966cbc94c57075787f70bf9cba6c92610a00565b926112dd6112d46100d3565b92839283611215565b0390a2565b6113029060003d8111611308575b6112fa81836107fd565b8101906109ae565b3861129b565b503d6112f0565b6109ef565b6109a3565b61132a611325336111d7565b61097a565b61133a611335610d14565b610361565b63f737401e8284928692813b156113fd57600061136a91611375829661135e6100d3565b988997889687956109a8565b8552600485016111ec565b03925af180156113f8576113cb575b5090916113b17fb8350431af3841b22f977d0e8fd4be94669ef68e2db1d7f02a731d5d09ed44cc92610a00565b926113c66113bd6100d3565b92839283611215565b0390a2565b6113eb9060003d81116113f1575b6113e381836107fd565b8101906109ae565b38611384565b503d6113d9565b6109ef565b6109a3565b61140a6108dd565b50611413611663565b013590565b611420610b16565b50611429611663565b013560601c90565b6114396116cc565b90565b906020828203126114565761145391600001610168565b90565b6100de565b9061146860001991610def565b9181191691161790565b90565b9061148a61148561149192610a00565b611472565b825461145b565b9055565b6114ad916114a6919081019061143c565b6001611475565b565b90565b6114be6114c391610d67565b6114af565b90565b6114d090546114b2565b90565b905051906114e0826104e6565b565b906020828203126114fc576114f9916000016114d3565b90565b6100de565b91602061152392949361151c60408201966000830190610223565b01906100f6565b565b61152d6111d2565b5061153e611539610d14565b610361565b602063b56f756291839061156d61155560016114c6565b946115786115616100d3565b968795869485946109a8565b845260048401611501565b03915afa90811561165e57600091611630575b50908115611598575b5090565b905060206115ac6115a7610d14565b610361565b634352409a92906115d86115c060016114c6565b946115e36115cc6100d3565b968795869485946109a8565b845260048401611501565b03915afa90811561162b576000916115fd575b5038611594565b61161e915060203d8111611624575b61161681836107fd565b8101906114e2565b386115f6565b503d61160c565b6109ef565b611651915060203d8111611657575b61164981836107fd565b8101906114e2565b3861158b565b503d61163f565b6109ef565b61166b6108dd565b50600236033560f01c360390565b600090565b90565b90565b61169861169361169d9261167e565b610def565b611681565b90565b6116c97ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611684565b90565b6116d4611679565b506116dd6116a0565b9056fea26469706673582212206f314efdce897182ddd247d5761e96aea33ea1d0bac474bd24ea55930d17d62264736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005302e302e30000000000000000000000000000000000000000000000000000000