0 txs
0 calls
constructor
constructor(string _name, string _symbol)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseExtension
viewfunction baseExtension() view returns (string)
baseURI
viewfunction baseURI() view returns (string)
checkOwner
viewfunction checkOwner(uint256 _keyId, address _ownerAddress) view returns (bool)
farmContract
viewfunction farmContract() view returns (address)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
master
viewfunction master() view returns (address)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
proposedMaster
viewfunction proposedMaster() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 _tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
walletOfOwner
viewfunction walletOfOwner(address _owner) view returns (uint256[])
approve
nonpayablefunction approve(address to, uint256 tokenId)
burnKey
nonpayablefunction burnKey(uint256 _keyId)
claimOwnership
nonpayablefunction claimOwnership()
initialize
nonpayablefunction initialize(string _name, string _symbol, address _master, address _farmContract)
mintKey
nonpayablefunction mintKey(address _keyOwner, uint256 _keyId)
proposeOwner
nonpayablefunction proposeOwner(address _proposedOwner)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseExtension
nonpayablefunction setBaseExtension(string _newBaseExtension)
setBaseURI
nonpayablefunction setBaseURI(string _newBaseURI)
setFarmContract
nonpayablefunction setFarmContract(address _farmContract)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
MasterProposed
event MasterProposed(address indexed proposer, address indexed proposedMaster)
RenouncedOwnership
event RenouncedOwnership(address indexed previousMaster)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
NotMaster
error NotMaster()
NotProposed
error NotProposed()
NoValue
error NoValue()
creation bytecode
0x608060405234801561000f575f5ffd5b5060405161259938038061259983398101604081905261002e91610175565b3382825f61003c838261025e565b506001610049828261025e565b5050506001600160a01b0381166100735760405163f2365b5b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055815115806100a057508051155b156100d1576011805460ff16905f6100b783610318565b91906101000a81548160ff021916908360ff160217905550505b5050610342565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126100fb575f5ffd5b81516001600160401b03811115610114576101146100d8565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610142576101426100d8565b604052818152838201602001851015610159575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f60408385031215610186575f5ffd5b82516001600160401b0381111561019b575f5ffd5b6101a7858286016100ec565b602085015190935090506001600160401b038111156101c4575f5ffd5b6101d0858286016100ec565b9150509250929050565b600181811c908216806101ee57607f821691505b60208210810361020c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561025957805f5260205f20601f840160051c810160208510156102375750805b601f840160051c820191505b81811015610256575f8155600101610243565b50505b505050565b81516001600160401b03811115610277576102776100d8565b61028b8161028584546101da565b84610212565b6020601f8211600181146102bd575f83156102a65750848201515b5f19600385901b1c1916600184901b178455610256565b5f84815260208120601f198516915b828110156102ec57878501518255602094850194600190920191016102cc565b508482101561030957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60ff821660ff810361033957634e487b7160e01b5f52601160045260245ffd5b60010192915050565b61224a8061034f5f395ff3fe608060405234801561000f575f5ffd5b506004361061017e575f3560e01c806301ffc9a71461018257806306fdde03146101aa578063081812fc146101bf578063095ea7b3146101df57806318160ddd146101f457806323b872dd146102065780632f745c591461021957806342842e0e1461022c578063438b63001461023f5780634e71e0c81461025f5780634ef969ed146102675780634f6ccce71461027a57806355f804b31461028d5780636352211e146102a05780636c0360eb146102b357806370a08231146102bb578063715018a6146102ce5780638f15b414146102d657806390901aa3146102e957806395d89b41146102fc5780639eb0e96514610304578063a22cb46514610317578063b3aa1dad1461032a578063b5ed298a1461033d578063b88d4fde14610350578063be8dbea614610363578063c668286214610376578063c87b56dd1461037e578063d3573a3314610391578063da3ef23f146103a4578063e985e9c5146103b7578063ee97f7f3146103ca575b5f5ffd5b6101956101903660046118a8565b6103dd565b60405190151581526020015b60405180910390f35b6101b2610407565b6040516101a191906118f8565b6101d26101cd36600461190a565b610497565b6040516101a19190611921565b6101f26101ed366004611950565b6104bc565b005b6008545b6040519081526020016101a1565b6101f2610214366004611978565b6105d5565b6101f8610227366004611950565b610606565b6101f261023a366004611978565b61069a565b61025261024d3660046119b2565b6106b4565b6040516101a191906119cb565b6101f26107f9565b6101f2610275366004611950565b610815565b6101f861028836600461190a565b61084d565b6101f261029b366004611a0d565b6108dd565b6101d26102ae36600461190a565b6108f2565b6101b2610925565b6101f86102c93660046119b2565b6109b1565b6101f2610a35565b6101f26102e4366004611b20565b610a85565b6101f26102f736600461190a565b610b3b565b6101b2610b71565b600e546101d2906001600160a01b031681565b6101f2610325366004611ba3565b610b80565b6101f26103383660046119b2565b610b8b565b6101f261034b3660046119b2565b610bc3565b6101f261035e366004611bdc565b610c3d565b610195610371366004611c52565b610c75565b6101b2610c9a565b6101b261038c36600461190a565b610ca7565b600b546101d2906001600160a01b031681565b6101f26103b2366004611a0d565b610ddf565b6101956103c5366004611c7c565b610df4565b600a546101d2906001600160a01b031681565b5f6001600160e01b0319821663780e9d6360e01b1480610401575061040182610e21565b92915050565b60606010805461041690611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461044290611ca4565b801561048d5780601f106104645761010080835404028352916020019161048d565b820191905f5260205f20905b81548152906001019060200180831161047057829003601f168201915b5050505050905090565b5f6104a182610e70565b505f908152600460205260409020546001600160a01b031690565b5f6104c6826108f2565b9050806001600160a01b0316836001600160a01b0316036105385760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061055457506105548133610df4565b6105c65760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161052f565b6105d08383610e95565b505050565b6105df3382610f02565b6105fb5760405162461bcd60e51b815260040161052f90611cdc565b6105d0838383610f60565b5f610610836109b1565b82106106725760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161052f565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b6105d083838360405180602001604052805f815250610c3d565b600e546040516385dfb48960e01b81526060916001600160a01b0316905f9082906385dfb489906106e9908790600401611921565b602060405180830381865afa158015610704573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107289190611d29565b90505f610734856109b1565b90505f8215610741575060015b5f61074c8284611d54565b6001600160401b0381111561076357610763611a79565b60405190808252806020026020018201604052801561078c578160200160208202803683370190505b5090505f5b838110156107c8576107a38882610606565b8282815181106107b5576107b5611d67565b6020908102919091010152600101610791565b84156107ee57848282815181106107e1576107e1611d67565b6020026020010181815250505b509695505050505050565b6108016110bc565b600a80546001600160a01b03191633179055565b600e546001600160a01b0316331461083f5760405162461bcd60e51b815260040161052f90611d7b565b61084982826110e9565b5050565b5f61085760085490565b82106108ba5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161052f565b600882815481106108cd576108cd611d67565b905f5260205f2001549050919050565b6108e56111ef565b600c6105d0828483611e09565b5f5f6108fd8361121c565b90506001600160a01b0381166104015760405162461bcd60e51b815260040161052f90611ebd565b600c805461093290611ca4565b80601f016020809104026020016040519081016040528092919081815260200182805461095e90611ca4565b80156109a95780601f10610980576101008083540402835291602001916109a9565b820191905f5260205f20905b81548152906001019060200180831161098c57829003601f168201915b505050505081565b5f6001600160a01b038216610a1a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161052f565b506001600160a01b03165f9081526003602052604090205490565b610a3d6111ef565b600a80546001600160a01b0319908116909155600b8054909116905560405133907f6172baf984ea013d88b784409f46655b96ba7f2ff91bca1ac9bcd27b113e6eb0905f90a2565b60115460ff1615610ae45760405162461bcd60e51b815260206004820152602360248201527f506f7765724661726d734e4654733a20414c52454144595f494e495449414c4960448201526216915160ea1b606482015260840161052f565b6010610af08582611eef565b50600f610afd8482611eef565b50600a80546001600160a01b039384166001600160a01b0319918216179091556011805460ff19166001179055600e80549290931691161790555050565b600e546001600160a01b03163314610b655760405162461bcd60e51b815260040161052f90611d7b565b610b6e81611236565b50565b6060600f805461041690611ca4565b6108493383836112c2565b610b936111ef565b600e546001600160a01b0316610b6e57600e80546001600160a01b0383166001600160a01b031990911617905550565b610bcb6111ef565b6001600160a01b038116610bf25760405163f2365b5b60e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b03831690811790915560405133907f322fd6444c59daffa82e4689b7685b6fafc6109a1eff8a6ca10c5a8e3206cda1905f90a350565b610c473383610f02565b610c635760405162461bcd60e51b815260040161052f90611cdc565b610c6f8484848461138b565b50505050565b5f816001600160a01b0316610c89846108f2565b6001600160a01b0316149392505050565b600d805461093290611ca4565b6060610cb2826113be565b1515600114610d015760405162461bcd60e51b815260206004820152601b60248201527a2837bbb2b92330b936b9a7232a399d102ba927a723afaa27a5a2a760291b604482015260640161052f565b5f600c8054610d0f90611ca4565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3b90611ca4565b8015610d865780601f10610d5d57610100808354040283529160200191610d86565b820191905f5260205f20905b815481529060010190602001808311610d6957829003601f168201915b5050505050905080515f03610daa57505060408051602081019091525f8152919050565b80610db4846113da565b600d604051602001610dc893929190611fbb565b604051602081830303815290604052915050919050565b610de76111ef565b600d6105d0828483611e09565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b1480610e5157506001600160e01b03198216635b5e139f60e01b145b8061040157506301ffc9a760e01b6001600160e01b0319831614610401565b610e79816113be565b610b6e5760405162461bcd60e51b815260040161052f90611ebd565b5f81815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ec9826108f2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f5f610f0d836108f2565b9050806001600160a01b0316846001600160a01b03161480610f345750610f348185610df4565b80610f585750836001600160a01b0316610f4d84610497565b6001600160a01b0316145b949350505050565b826001600160a01b0316610f73826108f2565b6001600160a01b031614610f995760405162461bcd60e51b815260040161052f90612042565b6001600160a01b038216610ffb5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161052f565b61100883838360016114e1565b826001600160a01b031661101b826108f2565b6001600160a01b0316146110415760405162461bcd60e51b815260040161052f90612042565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184935f5160206121f55f395f51905f5291a4505050565b600b546001600160a01b031633036110d057565b6040516379543eaf60e11b815260040160405180910390fd5b6001600160a01b03821661113f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161052f565b611148816113be565b156111655760405162461bcd60e51b815260040161052f90612087565b6111725f838360016114e1565b61117b816113be565b156111985760405162461bcd60e51b815260040161052f90612087565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291905f5160206121f55f395f51905f52908290a45050565b600a546001600160a01b0316330361120357565b604051635a7617f960e11b815260040160405180910390fd5b5f908152600260205260409020546001600160a01b031690565b5f611240826108f2565b905061124f815f8460016114e1565b611258826108f2565b5f83815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080545f190190558785526002909352818420805490911690555192935084925f5160206121f55f395f51905f52908390a45050565b816001600160a01b0316836001600160a01b03160361131f5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b604482015260640161052f565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611396848484610f60565b6113a284848484611614565b610c6f5760405162461bcd60e51b815260040161052f906120bd565b5f806113c98361121c565b6001600160a01b0316141592915050565b6060815f036114005750506040805180820190915260018152600360fc1b602082015290565b815f5b811561142957806114138161210f565b91506114229050600a8361213b565b9150611403565b5f816001600160401b0381111561144257611442611a79565b6040519080825280601f01601f19166020018201604052801561146c576020820181803683370190505b508593509050815b83156114d857611485600a8561214e565b611490906030611d54565b60f81b8261149d83612161565b925082815181106114b0576114b0611d67565b60200101906001600160f81b03191690815f1a9053506114d1600a8561213b565b9350611474565b50949350505050565b60018111156115505760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161052f565b816001600160a01b0385166115ab576115a681600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6115ce565b836001600160a01b0316856001600160a01b0316146115ce576115ce8582611711565b6001600160a01b0384166115ea576115e5816117aa565b61160d565b846001600160a01b0316846001600160a01b03161461160d5761160d8482611851565b5050505050565b5f6001600160a01b0384163b1561170657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611657903390899088908890600401612176565b6020604051808303815f875af1925050508015611691575060408051601f3d908101601f1916820190925261168e918101906121b2565b60015b6116ec573d8080156116be576040519150601f19603f3d011682016040523d82523d5f602084013e6116c3565b606091505b5080515f036116e45760405162461bcd60e51b815260040161052f906120bd565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610f58565b506001949350505050565b5f600161171d846109b1565b61172791906121cd565b5f83815260076020526040902054909150808214611778576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906117bb906001906121cd565b5f83815260096020526040812054600880549394509092849081106117e2576117e2611d67565b905f5260205f2001549050806008838154811061180157611801611d67565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480611838576118386121e0565b600190038181905f5260205f20015f9055905550505050565b5f61185b836109b1565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b031981168114610b6e575f5ffd5b5f602082840312156118b8575f5ffd5b81356118c381611893565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6118c360208301846118ca565b5f6020828403121561191a575f5ffd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b038116811461194b575f5ffd5b919050565b5f5f60408385031215611961575f5ffd5b61196a83611935565b946020939093013593505050565b5f5f5f6060848603121561198a575f5ffd5b61199384611935565b92506119a160208501611935565b929592945050506040919091013590565b5f602082840312156119c2575f5ffd5b6118c382611935565b602080825282518282018190525f918401906040840190835b81811015611a025783518352602093840193909201916001016119e4565b509095945050505050565b5f5f60208385031215611a1e575f5ffd5b82356001600160401b03811115611a33575f5ffd5b8301601f81018513611a43575f5ffd5b80356001600160401b03811115611a58575f5ffd5b856020828401011115611a69575f5ffd5b6020919091019590945092505050565b634e487b7160e01b5f52604160045260245ffd5b5f806001600160401b03841115611aa657611aa6611a79565b50604051601f19601f85018116603f011681018181106001600160401b0382111715611ad457611ad4611a79565b604052838152905080828401851015611aeb575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112611b11575f5ffd5b6118c383833560208501611a8d565b5f5f5f5f60808587031215611b33575f5ffd5b84356001600160401b03811115611b48575f5ffd5b611b5487828801611b02565b94505060208501356001600160401b03811115611b6f575f5ffd5b611b7b87828801611b02565b935050611b8a60408601611935565b9150611b9860608601611935565b905092959194509250565b5f5f60408385031215611bb4575f5ffd5b611bbd83611935565b915060208301358015158114611bd1575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611bef575f5ffd5b611bf885611935565b9350611c0660208601611935565b92506040850135915060608501356001600160401b03811115611c27575f5ffd5b8501601f81018713611c37575f5ffd5b611c4687823560208401611a8d565b91505092959194509250565b5f5f60408385031215611c63575f5ffd5b82359150611c7360208401611935565b90509250929050565b5f5f60408385031215611c8d575f5ffd5b611c9683611935565b9150611c7360208401611935565b600181811c90821680611cb857607f821691505b602082108103611cd657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f60208284031215611d39575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561040157610401611d40565b634e487b7160e01b5f52603260045260245ffd5b6020808252601c908201527b506f7765724661726d734e4654733a20494e56414c49445f4641524d60201b604082015260600190565b601f8211156105d057805f5260205f20601f840160051c81016020851015611dd65750805b601f840160051c820191505b8181101561160d575f8155600101611de2565b5f19600383901b1c191660019190911b1790565b6001600160401b03831115611e2057611e20611a79565b611e3483611e2e8354611ca4565b83611db1565b5f601f841160018114611e60575f8515611e4e5750838201355b611e588682611df5565b84555061160d565b5f83815260208120601f198716915b82811015611e8f5786850135825560209485019460019092019101611e6f565b5086821015611eab575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b81516001600160401b03811115611f0857611f08611a79565b611f1c81611f168454611ca4565b84611db1565b6020601f821160018114611f49575f8315611f375750848201515b611f418482611df5565b85555061160d565b5f84815260208120601f198516915b82811015611f785787850151825560209485019460019092019101611f58565b5084821015611f9557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f81518060208401855e5f93019283525090919050565b5f611fcf611fc98387611fa4565b85611fa4565b5f8454611fdb81611ca4565b600182168015611ff2576001811461200757612034565b60ff1983168552811515820285019350612034565b875f5260205f205f5b8381101561202c57815487820152600190910190602001612010565b505081850193505b509198975050505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b5f6001820161212057612120611d40565b5060010190565b634e487b7160e01b5f52601260045260245ffd5b5f8261214957612149612127565b500490565b5f8261215c5761215c612127565b500690565b5f8161216f5761216f611d40565b505f190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906121a8908301846118ca565b9695505050505050565b5f602082840312156121c2575f5ffd5b81516118c381611893565b8181038181111561040157610401611d40565b634e487b7160e01b5f52603160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220993a728bbb3ea58df518472b3499eae6627aa62aaa91607c7843071f06604b9f64736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000019576973654c656e64696e6720506f7765724661726d4e46547300000000000000000000000000000000000000000000000000000000000000000000000000001a574c2d50462d4e4654732d457468657266694a756e6532303235000000000000