624 txs
1.5k calls
constructor
constructor(address defaultAdmin, address minter)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getRarity
viewfunction getRarity(uint256 tokenId) view returns (uint8)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MAX_TOKEN_SUPPLY
viewfunction MAX_TOKEN_SUPPLY() view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeMint
nonpayablefunction safeMint(address to, uint256 tokenId)
safeMintBatch
nonpayablefunction safeMintBatch(address[] to, uint256[] tokenIds)
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)
setRarity
nonpayablefunction setRarity(uint256 tokenId, uint8 rarity)
setRarityBatch
nonpayablefunction setRarityBatch(uint256[] tokenIds, uint8[] rarities)
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)
RaritySet
event RaritySet(uint256 tokenId, uint8 rarity)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
CryptoOcto__NoValidArrayLenghts
error CryptoOcto__NoValidArrayLenghts()
CryptoOcto__NoValidTokenID
error CryptoOcto__NoValidTokenID(uint256 tokenId)
creation bytecode
0x60806040523480156200001157600080fd5b506040516200241f3803806200241f83398101604081905262000034916200019a565b6040518060400160405280600a81526020016943727970746f4f63746f60b01b81525060405180604001604052806002815260200161434f60f01b815250816000908162000083919062000277565b50600162000092828262000277565b50620000a491506000905083620000d8565b620000d07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682620000d8565b505062000343565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff16620001795760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b80516001600160a01b03811681146200019557600080fd5b919050565b60008060408385031215620001ae57600080fd5b620001b9836200017d565b9150620001c9602084016200017d565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001fd57607f821691505b6020821081036200021e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027257600081815260208120601f850160051c810160208610156200024d5750805b601f850160051c820191505b818110156200026e5782815560010162000259565b5050505b505050565b81516001600160401b03811115620002935762000293620001d2565b620002ab81620002a48454620001e8565b8462000224565b602080601f831160018114620002e35760008415620002ca5750858301515b600019600386901b1c1916600185901b1785556200026e565b600085815260208120601f198616915b828110156200031457888601518255948401946001909101908401620002f3565b5085821015620003335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6120cc80620003536000396000f3fe60806040526004361061018b5760003560e01c806370a08231116100e0578063b88d4fde11610084578063d539139311610061578063d5391393146104a9578063d547741f146104dd578063e489d510146104fd578063e985e9c51461051357005b8063b88d4fde14610449578063b9f8bf6814610469578063c87b56dd1461048957005b8063a1448194116100bd578063a1448194146103d4578063a217fddf146103f4578063a22cb46514610409578063aef765e41461042957005b806370a082311461037f57806391d148541461039f57806395d89b41146103bf57005b806323b872dd1161014757806336568abe1161012457806336568abe146102f257806342842e0e1461031257806348758697146103325780636352211e1461035f57005b806323b872dd14610282578063248a9ca3146102a25780632f2ff15d146102d257005b806301ffc9a71461019457806306fdde03146101c9578063081812fc146101eb578063095ea7b31461022357806318160ddd14610243578063189d0e651461026257005b3661019257005b005b3480156101a057600080fd5b506101b46101af36600461184c565b61055c565b60405190151581526020015b60405180910390f35b3480156101d557600080fd5b506101de61056d565b6040516101c091906118b9565b3480156101f757600080fd5b5061020b6102063660046118cc565b6105ff565b6040516001600160a01b0390911681526020016101c0565b34801561022f57600080fd5b5061019261023e366004611901565b610626565b34801561024f57600080fd5b506007545b6040519081526020016101c0565b34801561026e57600080fd5b5061019261027d366004611a17565b610740565b34801561028e57600080fd5b5061019261029d366004611ad0565b6107cd565b3480156102ae57600080fd5b506102546102bd3660046118cc565b60009081526006602052604090206001015490565b3480156102de57600080fd5b506101926102ed366004611b0c565b6107fe565b3480156102fe57600080fd5b5061019261030d366004611b0c565b610823565b34801561031e57600080fd5b5061019261032d366004611ad0565b6108a1565b34801561033e57600080fd5b5061035261034d3660046118cc565b6108bc565b6040516101c09190611b70565b34801561036b57600080fd5b5061020b61037a3660046118cc565b6108dd565b34801561038b57600080fd5b5061025461039a366004611b7e565b61093d565b3480156103ab57600080fd5b506101b46103ba366004611b0c565b6109c3565b3480156103cb57600080fd5b506101de6109ee565b3480156103e057600080fd5b506101926103ef366004611901565b6109fd565b34801561040057600080fd5b50610254600081565b34801561041557600080fd5b50610192610424366004611b99565b610a54565b34801561043557600080fd5b50610192610444366004611c21565b610a5f565b34801561045557600080fd5b50610192610464366004611c8d565b610b33565b34801561047557600080fd5b50610192610484366004611d4d565b610b65565b34801561049557600080fd5b506101de6104a43660046118cc565b610b7a565b3480156104b557600080fd5b506102547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156104e957600080fd5b506101926104f8366004611b0c565b610be1565b34801561050957600080fd5b506102546103e881565b34801561051f57600080fd5b506101b461052e366004611d70565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061056782610c06565b92915050565b60606000805461057c90611d9a565b80601f01602080910402602001604051908101604052809291908181526020018280546105a890611d9a565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061060a82610c2b565b506000908152600460205260409020546001600160a01b031690565b6000610631826108dd565b9050806001600160a01b0316836001600160a01b0316036106a35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806106bf57506106bf813361052e565b6107315760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161069a565b61073b8383610c8d565b505050565b600061074b81610cfb565b815183511461076d5760405163bcd2f3db60e01b815260040160405180910390fd5b60005b83518110156107c7576107b584828151811061078e5761078e611dd4565b60200260200101518483815181106107a8576107a8611dd4565b6020026020010151610d05565b806107bf81611e00565b915050610770565b50505050565b6107d73382610d7b565b6107f35760405162461bcd60e51b815260040161069a90611e19565b61073b838383610dfa565b60008281526006602052604090206001015461081981610cfb565b61073b8383610f5e565b6001600160a01b03811633146108935760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161069a565b61089d8282610fe4565b5050565b61073b83838360405180602001604052806000815250610b33565b60006108c78261104b565b5060009081526008602052604090205460ff1690565b6000818152600260205260408120546001600160a01b0316806105675760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161069a565b60006001600160a01b0382166109a75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161069a565b506001600160a01b031660009081526003602052604090205490565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461057c90611d9a565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a2781610cfb565b610a308261104b565b610a3a838361107a565b60078054906000610a4a83611e00565b9190505550505050565b61089d338383611094565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a8981610cfb565b60005b84811015610b2b576000848483818110610aa857610aa8611dd4565b905060200201359050610aba8161104b565b610b02878784818110610acf57610acf611dd4565b9050602002016020810190610ae49190611b7e565b868685818110610af657610af6611dd4565b9050602002013561107a565b60078054906000610b1283611e00565b9190505550508080610b2390611e00565b915050610a8c565b505050505050565b610b3d3383610d7b565b610b595760405162461bcd60e51b815260040161069a90611e19565b6107c784848484611162565b6000610b7081610cfb565b61073b8383610d05565b6060610b8582610c2b565b6000610b8f611195565b90506000815111610baf5760405180602001604052806000815250610bda565b80610bb9846111b5565b604051602001610bca929190611e66565b6040516020818303038152906040525b9392505050565b600082815260066020526040902060010154610bfc81610cfb565b61073b8383610fe4565b60006001600160e01b03198216637965db0b60e01b1480610567575061056782611248565b6000818152600260205260409020546001600160a01b0316610c8a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161069a565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cc2826108dd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610c8a8133611298565b610d0e8261104b565b6000828152600860205260409020805482919060ff19166001836004811115610d3957610d39611b38565b02179055507f81d9f1e4be208abf4160462ecc7e19be5337c7b8ad6d15389a97948aace8172f8282604051610d6f929190611ea5565b60405180910390a15050565b600080610d87836108dd565b9050806001600160a01b0316846001600160a01b03161480610dce57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610df25750836001600160a01b0316610de7846105ff565b6001600160a01b0316145b949350505050565b826001600160a01b0316610e0d826108dd565b6001600160a01b031614610e335760405162461bcd60e51b815260040161069a90611eb9565b6001600160a01b038216610e955760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161069a565b826001600160a01b0316610ea8826108dd565b6001600160a01b031614610ece5760405162461bcd60e51b815260040161069a90611eb9565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610f6882826109c3565b61089d5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610fa03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610fee82826109c3565b1561089d5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6103e8811180611059575080155b15610c8a57604051632c6ace6960e21b81526004810182905260240161069a565b61089d8282604051806020016040528060008152506112f1565b816001600160a01b0316836001600160a01b0316036110f55760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161069a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61116d848484610dfa565b61117984848484611324565b6107c75760405162461bcd60e51b815260040161069a90611efe565b606060405180606001604052806036815260200161206160369139905090565b606060006111c283611425565b600101905060008167ffffffffffffffff8111156111e2576111e261192b565b6040519080825280601f01601f19166020018201604052801561120c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461121657509392505050565b60006001600160e01b031982166380ac58cd60e01b148061127957506001600160e01b03198216635b5e139f60e01b145b8061056757506301ffc9a760e01b6001600160e01b0319831614610567565b6112a282826109c3565b61089d576112af816114fd565b6112ba83602061150f565b6040516020016112cb929190611f50565b60408051601f198184030181529082905262461bcd60e51b825261069a916004016118b9565b6112fb83836116ab565b6113086000848484611324565b61073b5760405162461bcd60e51b815260040161069a90611efe565b60006001600160a01b0384163b1561141a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611368903390899088908890600401611fc5565b6020604051808303816000875af19250505080156113a3575060408051601f3d908101601f191682019092526113a091810190612002565b60015b611400573d8080156113d1576040519150601f19603f3d011682016040523d82523d6000602084013e6113d6565b606091505b5080516000036113f85760405162461bcd60e51b815260040161069a90611efe565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610df2565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114645772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611490576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106114ae57662386f26fc10000830492506010015b6305f5e10083106114c6576305f5e100830492506008015b61271083106114da57612710830492506004015b606483106114ec576064830492506002015b600a83106105675760010192915050565b60606105676001600160a01b03831660145b6060600061151e83600261201f565b611529906002612036565b67ffffffffffffffff8111156115415761154161192b565b6040519080825280601f01601f19166020018201604052801561156b576020820181803683370190505b509050600360fc1b8160008151811061158657611586611dd4565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106115b5576115b5611dd4565b60200101906001600160f81b031916908160001a90535060006115d984600261201f565b6115e4906001612036565b90505b600181111561165c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061161857611618611dd4565b1a60f81b82828151811061162e5761162e611dd4565b60200101906001600160f81b031916908160001a90535060049490941c9361165581612049565b90506115e7565b508315610bda5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161069a565b6001600160a01b0382166117015760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161069a565b6000818152600260205260409020546001600160a01b0316156117665760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161069a565b6000818152600260205260409020546001600160a01b0316156117cb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161069a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610c8a57600080fd5b60006020828403121561185e57600080fd5b8135610bda81611836565b60005b8381101561188457818101518382015260200161186c565b50506000910152565b600081518084526118a5816020860160208601611869565b601f01601f19169290920160200192915050565b602081526000610bda602083018461188d565b6000602082840312156118de57600080fd5b5035919050565b80356001600160a01b03811681146118fc57600080fd5b919050565b6000806040838503121561191457600080fd5b61191d836118e5565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196a5761196a61192b565b604052919050565b600067ffffffffffffffff82111561198c5761198c61192b565b5060051b60200190565b8035600581106118fc57600080fd5b600082601f8301126119b657600080fd5b813560206119cb6119c683611972565b611941565b82815260059290921b840181019181810190868411156119ea57600080fd5b8286015b84811015611a0c576119ff81611996565b83529183019183016119ee565b509695505050505050565b60008060408385031215611a2a57600080fd5b823567ffffffffffffffff80821115611a4257600080fd5b818501915085601f830112611a5657600080fd5b81356020611a666119c683611972565b82815260059290921b84018101918181019089841115611a8557600080fd5b948201945b83861015611aa357853582529482019490820190611a8a565b96505086013592505080821115611ab957600080fd5b50611ac6858286016119a5565b9150509250929050565b600080600060608486031215611ae557600080fd5b611aee846118e5565b9250611afc602085016118e5565b9150604084013590509250925092565b60008060408385031215611b1f57600080fd5b82359150611b2f602084016118e5565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b60058110611b6c57634e487b7160e01b600052602160045260246000fd5b9052565b602081016105678284611b4e565b600060208284031215611b9057600080fd5b610bda826118e5565b60008060408385031215611bac57600080fd5b611bb5836118e5565b915060208301358015158114611bca57600080fd5b809150509250929050565b60008083601f840112611be757600080fd5b50813567ffffffffffffffff811115611bff57600080fd5b6020830191508360208260051b8501011115611c1a57600080fd5b9250929050565b60008060008060408587031215611c3757600080fd5b843567ffffffffffffffff80821115611c4f57600080fd5b611c5b88838901611bd5565b90965094506020870135915080821115611c7457600080fd5b50611c8187828801611bd5565b95989497509550505050565b60008060008060808587031215611ca357600080fd5b611cac856118e5565b93506020611cbb8187016118e5565b935060408601359250606086013567ffffffffffffffff80821115611cdf57600080fd5b818801915088601f830112611cf357600080fd5b813581811115611d0557611d0561192b565b611d17601f8201601f19168501611941565b91508082528984828501011115611d2d57600080fd5b808484018584013760008482840101525080935050505092959194509250565b60008060408385031215611d6057600080fd5b82359150611b2f60208401611996565b60008060408385031215611d8357600080fd5b611d8c836118e5565b9150611b2f602084016118e5565b600181811c90821680611dae57607f821691505b602082108103611dce57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611e1257611e12611dea565b5060010190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351611e78818460208801611869565b835190830190611e8c818360208801611869565b64173539b7b760d91b9101908152600501949350505050565b82815260408101610bda6020830184611b4e565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611f88816017850160208801611869565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611fb9816028840160208801611869565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ff89083018461188d565b9695505050505050565b60006020828403121561201457600080fd5b8151610bda81611836565b808202811582820484141761056757610567611dea565b8082018082111561056757610567611dea565b60008161205857612058611dea565b50600019019056fe697066733a2f2f516d5a5333346b74473632366133477175374343335169486552745657517a445374374c73444748755a6f4a7a772fa2646970667358221220618fdaad75b8957818d257cc7031b3f5a7c1703ad8764e253378c24ed00011b364736f6c63430008130033000000000000000000000000d6a7d45fbd706c758a2eccbc66fee229790262ac000000000000000000000000f9b24472bf65e86b4486d603f0b931be5aeb7241