Bytecode-generated storage layout

We've generated a storage layout (with no variable labels) from this contract's bytecode. We've also started a backfill to track the inferred variables.

(Pre-collection) Degen Haberdashers: Degeneration 2 ™

Unverified contract

Proxy

Active on Base with 2,399 txns
Deployed by via 0xa4a37afb at 11654442
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 48 additional slots
-
variable spans 46 additional slots
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 2 additional slots
-
variable spans 49 additional slots
5 additional variables
ERC-20
--
0x650242c3d71f02226034dbf41181e6da559611d3667a696b933f6aa353b42a76
0x4757795e312886621ffda5b79362067aef5d613d1ef02cb24eb942d7b1ca4727
0x87de596726f43b7eb3e551cbfbe60fa017cc998caa6fef95a21841b501b3322f
0xe697ffe4c57f8cc4681157ddf62d18b5cceb884eb461c665782fa6fa87524ffe
0x81215106ba8fa1796859f83792bb8495c987f907889e7c38904afde3aaede4c5
0xb9f078dca00427c808c61f5426498d80e94c7bd1c8e68d01f4d04b54ec186dc4
0x8a689bbbf3c2366f7b481626975e6f59661c97376cb84cdec475bdcdcdea7529
0x1aa9432d2ecae1e5808cda57a3089cc35a8975a9fcb8f278754166add7e37dec
0x9d354c8d4e1e0e5b4f8aee325d681de4fcfce1a819f9218088362bfcb1c46ecd
0x7c5d49637ed65e7ce89cceb65510a12a2962f0df0d7b21216b429f49e0c724af

Functions
Getter at block 23102939
CONTRACT_BASE_ID(view returns (uint256)
0
PERMISSION_BIT_ADMIN(view returns (uint256)
2
PERMISSION_BIT_FUNDS_MANAGER(view returns (uint256)
32
PERMISSION_BIT_METADATA(view returns (uint256)
16
PERMISSION_BIT_MINTER(view returns (uint256)
4
PERMISSION_BIT_SALES(view returns (uint256)
8
config(view returns (address owneruint96 __gap1address fundsRecipientuint96 __gap2address transferHookuint96 __gap3)
(owner=0xf145929a2f094840a797851cd306ae70c2b51986, __gap1=0, fundsRecipient=0xf145929a2f094840a797851cd306ae70c2b51986, __gap2=0, transferHook=0x0000000000000000000000000000000000000000, __gap3=0)
contractURI(view returns (string)
ipfs://bafkreig5l2ay6rqhxou2ttavyjmigv3nlnz7if4msqg5wyvrjt27su34qi
contractVersion(pure returns (string)
2.7.0
implementation(view returns (address)
0xaf5a4f6f6640734d7d000321bb27de40d4ae91f6
mintFee(pure returns (uint256)
777000000000000
name(view returns (string)
(Pre-collection) Degen Haberdashers: Degeneration 2 ™
nextTokenId(view returns (uint256)
4
owner(view returns (address)
0xf145929a2f094840a797851cd306ae70c2b51986
 
proxiableUUID(view returns (bytes32)
supportedPremintSignatureVersions(pure returns (string[])
[1, 2]
symbol(pure returns (string)
Read-only
assumeLastTokenIdMatches(uint256 lastTokenIdview 
balanceOf(address accountuint256 idview returns (uint256)
balanceOfBatch(address[] accountsuint256[] idsview returns (uint256[] batchBalances)
computeFreeMintRewards(uint256 numTokenspure returns (struct RewardsSettings)
computePaidMintRewards(uint256 numTokenspure returns (struct RewardsSettings)
computeTotalReward(uint256 numTokenspure returns (uint256)
createReferrals(uint256view returns (address)
customRenderers(uint256view returns (address)
delegatedTokenId(uint32view returns (uint256)
firstMinters(uint256view returns (address)
getCreatorRewardRecipient(uint256 tokenIdview returns (address)
getCustomRenderer(uint256 tokenIdview returns (address customRenderer)
getRoyalties(uint256 tokenIdview returns (struct ICreatorRoyaltiesControlRoyaltyConfiguration)
getTokenInfo(uint256 tokenIdview returns (struct IZoraCreator1155TypesV1TokenData)
isAdminOrRole(address useruint256 tokenIduint256 roleview returns (bool)
isApprovedForAll(address accountaddress operatorview returns (bool)
metadataRendererContract(uint256view returns (address)
permissions(uint256addressview returns (uint256)
royalties(uint256view returns (uint32 royaltyMintScheduleuint32 royaltyBPSaddress royaltyRecipient)
royaltyInfo(uint256 tokenIduint256 salePriceview returns (address receiveruint256 royaltyAmount)
supportsInterface(bytes4 interfaceIdview returns (bool)
uri(uint256 tokenIdview returns (string)
State-modifying
addPermission(uint256 tokenIdaddress useruint256 permissionBits
adminMint(address recipientuint256 tokenIduint256 quantitybytes data
adminMintBatch(address recipientuint256[] tokenIdsuint256[] quantitiesbytes data
burnBatch(address fromuint256[] tokenIdsuint256[] amounts
callRenderer(uint256 tokenIdbytes data
callSale(uint256 tokenIdaddress salesConfigbytes data
delegateSetupNewToken(bytes premintConfigbytes32 premintVersionbytes signatureaddress senderreturns (uint256 newTokenId)
initialize(string contractNamestring newContractURIstruct ICreatorRoyaltiesControlRoyaltyConfiguration defaultRoyaltyConfigurationaddress defaultAdminbytes[] setupActions
mint(address minteruint256 tokenIduint256 quantityaddress[] rewardsRecipientsbytes minterArgumentspayable 
mintWithRewards(address minteruint256 tokenIduint256 quantitybytes minterArgumentsaddress mintReferralpayable 
multicall(bytes[] datareturns (bytes[] results)
removePermission(uint256 tokenIdaddress useruint256 permissionBits
safeBatchTransferFrom(address fromaddress touint256[] idsuint256[] amountsbytes data
safeTransferFrom(address fromaddress touint256 iduint256 amountbytes data
setApprovalForAll(address operatorbool approved
setFundsRecipient(address fundsRecipient
setOwner(address newOwner
setTokenMetadataRenderer(uint256 tokenIdaddress renderer
setTransferHook(address transferHook
setupNewToken(string newURIuint256 maxSupplyreturns (uint256)
setupNewTokenWithCreateReferral(string newURIuint256 maxSupplyaddress createReferralreturns (uint256)
updateContractMetadata(string _newURIstring _newName
updateCreateReferral(uint256 tokenIdaddress recipient
updateRoyaltiesForToken(uint256 tokenIdstruct ICreatorRoyaltiesControlRoyaltyConfiguration newConfiguration
updateTokenURI(uint256 tokenIdstring _newURI
upgradeTo(address newImplementation
upgradeToAndCall(address newImplementationbytes datapayable 
withdraw(
Events
AdminChanged(address previousAdminaddress newAdmin
ApprovalForAll(address indexed accountaddress indexed operatorbool approved
BeaconUpgraded(address indexed beacon
ConfigUpdated(address indexed updateruint8 indexed updateTypestruct IZoraCreator1155TypesV1ContractConfig newConfig
ContractMetadataUpdated(address indexed updaterstring uristring name
ContractRendererUpdated(address renderer
CreatorAttribution(bytes32 structHashstring domainNamestring versionaddress creatorbytes signature
Initialized(uint8 version
OwnershipTransferred(address lastOwneraddress newOwner
Purchased(address indexed senderaddress indexed minteruint256 indexed tokenIduint256 quantityuint256 value
RendererUpdated(uint256 indexed tokenIdaddress indexed rendereraddress indexed user
SetupNewToken(uint256 indexed tokenIdaddress indexed senderstring newURIuint256 maxSupply
TransferBatch(address indexed operatoraddress indexed fromaddress indexed touint256[] idsuint256[] values
TransferSingle(address indexed operatoraddress indexed fromaddress indexed touint256 iduint256 value
URI(string valueuint256 indexed id
UpdatedPermissions(uint256 indexed tokenIdaddress indexed useruint256 indexed permissions
UpdatedRoyalties(uint256 indexed tokenIdaddress indexed userstruct ICreatorRoyaltiesControlRoyaltyConfiguration configuration
UpdatedToken(address indexed fromuint256 indexed tokenIdstruct IZoraCreator1155TypesV1TokenData tokenData
Upgraded(address indexed implementation
Constructor

This contract contains no constructor objects.

Fallback and receive
receive(
Errors
ADDRESS_DELEGATECALL_TO_NON_CONTRACT(
ADDRESS_LOW_LEVEL_CALL_FAILED(
Burn_NotOwnerOrApproved(address operatoraddress user
CREATOR_FUNDS_RECIPIENT_NOT_SET(
CallFailed(bytes reason
Call_TokenIdMismatch(
CallerNotZoraCreator1155(
CannotMintMoreTokens(uint256 tokenIduint256 quantityuint256 totalMinteduint256 maxSupply
Config_TransferHookNotSupported(address proposedAddress
ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH(
ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER(
ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE(
ERC1155_BURN_FROM_ZERO_ADDRESS(
ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED(
ERC1155_ERC1155RECEIVER_REJECTED_TOKENS(
ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH(
ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER(
ERC1155_MINT_TO_ZERO_ADDRESS(
ERC1155_SETTING_APPROVAL_FOR_SELF(
ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER(
ERC1155_TRANSFER_TO_ZERO_ADDRESS(
ERC1967_NEW_IMPL_NOT_CONTRACT(
ERC1967_NEW_IMPL_NOT_UUPS(
ERC1967_UNSUPPORTED_PROXIABLEUUID(
ETHWithdrawFailed(address recipientuint256 amount
FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY(
FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL(
FundsWithdrawInsolvent(uint256 amountuint256 contractValue
INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED(
INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING(
INVALID_ADDRESS_ZERO(
INVALID_ETH_AMOUNT(
InvalidMerkleProof(address mintTobytes32[] merkleProofbytes32 merkleRoot
InvalidMintSchedule(
InvalidSignatureVersion(
MintNotYetStarted(
Mint_InsolventSaleTransfer(
Mint_TokenIDMintNotAllowed(
Mint_UnknownCommand(
Mint_ValueTransferFail(
MinterContractAlreadyExists(
MinterContractDoesNotExist(
NewOwnerNeedsToBeAdmin(
NoRendererForToken(uint256 tokenId
ONLY_CREATE_REFERRAL(
PremintDeleted(
ProtocolRewardsWithdrawFailed(address calleraddress recipientuint256 amount
RendererNotValid(address renderer
Renderer_NotValidRendererContract(
SaleEnded(
SaleHasNotStarted(
Sale_CannotCallNonSalesContract(address targetContract
TokenIdMismatch(uint256 expecteduint256 actual
UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL(
UserExceedsMintLimit(address useruint256 limituint256 requestedAmount
UserMissingRoleForToken(address useruint256 tokenIduint256 role
WrongValueSent(