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.

Smart Foxes

Verified contract

Proxy

Active on Base with 1,929 txns
Deployed by via 0xf85273c9 at 19802621
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 41 additional slots
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 48 additional slots
-
variable spans 48 additional slots
-
variable spans 1 additional slot
-
variable spans 1 additional slot
3 additional variables

No balances found for "Smart Foxes"

0xe213b5cea1d729de9fa170c0853e0f03fcea9e6c2b7c15e42ead85ba9e6a9691
0xfc74ee369901a04d6e53da1032f46186907c5427b2cbd07ebcdf0433ecb27988
0x6e6c167807a6cdc03b7b9d96ca36151051a6c47e06a21019944331abf0814bf5
0x1bd86ac3a7dbd2b8e6c5a727a2716f15b3b21af542de5356265eec05adb475e5
0x47145fe778bdd7243b43e0ca703da00ea451050118e48cdf3dd5e4ca90de867d
0x37d8fd4755695e2364da46b25bc9d20a4f3dafa58167e62f7bc8c6668758f526
0xcd9c9cfaf4424130c348461a3146dd9cd6e11ba242ded0d6ce7063ce52bf1937
0x82bf61a5559fcdb8766de560267a1a0e12481928805f09014d5ffc5159569686
0x1228a5d05355b7fa0214a7d1c2159613ecbb0fedfd021c84ad264f157b7e78d7
0xbd26fe0e588722d65213744e052a992d7fbe0b1f10b1d8af415b1b835872458e

Functions
Getter at block 22996898
DEFAULT_ADMIN_ROLE(view returns (bytes32)
0x0000000000000000000000000000000000000000000000000000000000000000
MINTER_ROLE(view returns (bytes32)
0xf0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc9
SALES_MANAGER_ROLE(view returns (bytes32)
0x5ebbf78043a2215b522b1366a193ec74dd1f54e441e841a87b9653246a9c49a6
activePresaleStageCount(view returns (uint256)
1
config(view returns (address metadataRendereruint64 collectionSizeuint16 royaltyBPSaddress fundsRecipientbool revealedbool lockBeforeMintOut)
(metadataRenderer=0x659905d5ebbdb4f38a53a87e0db5d2e2c69e4e4f, collectionSize=10000, royaltyBPS=500, fundsRecipient=0x630ced002e699f64e0e4e1863401bd01ec6a3a89, revealed=true, lockBeforeMintOut=true)
contractURI(view returns (string)
ipfs://QmU1PXtJsUwvxkqZ4CPMMRiNpurP7y9ES2PSorXXUHPvSb
contractVersion(view returns (uint32)
1
factoryUpgradeGate(view returns (address)
0x3cddca98e2b7531754000c0571d2b499d3ddcec2
metadataRenderer(view returns (address)
0x659905d5ebbdb4f38a53a87e0db5d2e2c69e4e4f
name(view returns (string)
Smart Foxes
owner(view returns (address)
0x630ced002e699f64e0e4e1863401bd01ec6a3a89
 
proxiableUUID(view returns (bytes32)
publicSaleConfig(view returns (uint104 publicSalePriceuint32 maxSalePurchasePerAddressuint64 publicSaleStartuint64 publicSaleEnd)
(publicSalePrice=0, maxSalePurchasePerAddress=50, publicSaleStart=1726498800, publicSaleEnd=1726678800)
symbol(view returns (string)
SmartFoxes
totalSupply(view returns (uint256)
10000
Read-only
balanceOf(address ownerview returns (uint256)
feeForAmount(uint256 quantityview returns (address recipientuint256 fee)
getApproved(uint256 tokenIdview returns (address)
getRoleAdmin(bytes32 roleview returns (bytes32)
hasRole(bytes32 roleaddress accountview returns (bool)
isAdmin(address userview returns (bool)
isApprovedForAll(address nftOwneraddress operatorview returns (bool)
mintedPerAddress(address minterview returns (struct IERC721CollectionAddressMintDetails)
ownerOf(uint256 tokenIdview returns (address)
presaleConfig(uint256view returns (string presaleNameuint64 presaleStartuint64 presaleEnduint104 presalePriceuint32 presaleMaxPurchasePerAddressuint32 presaleSupplyuint32 presaleMintedbytes32 presaleMerkleRoot)
presaleMintedByAddress(addressuint256view returns (uint256)
royaltyInfo(uint256uint256 _salePriceview returns (address receiveruint256 royaltyAmount)
supportsInterface(bytes4 interfaceIdview returns (bool)
tokenURI(uint256 tokenIdview returns (string)
State-modifying
adminMint(address recipientuint256 quantityreturns (uint256)
adminMintAirdrop(address[] recipientsreturns (uint256)
approve(address touint256 tokenId
burn(uint256 tokenId
callMetadataRenderer(bytes datareturns (bytes)
finalizeOpenEdition(
grantRole(bytes32 roleaddress account
initialize(string _contractNamestring _contractSymboladdress _initialOwneraddress _fundsRecipientuint64 _collectionSizeuint16 _royaltyBPSbytes[] _setupCallsbool _tradingLockedbool _revealedaddress _metadataRendererbytes _metadataRendererInitbytes _dynamicMetadataInit
multicall(bytes[] datareturns (bytes[] results)
purchase(uint256 quantitypayable returns (uint256)
purchasePresale(uint256 stageIndexuint256 quantityuint256 maxQuantityuint256 pricePerTokenbytes32[] merkleProofpayable returns (uint256)
purchasePresaleWithComment(uint256 stageIndexuint256 quantityuint256 maxQuantityuint256 pricePerTokenbytes32[] merkleProofstring commentpayable returns (uint256)
purchaseWithComment(uint256 quantitystring commentpayable returns (uint256)
renounceRole(bytes32 roleaddress account
revealCollection(string collectionURI
revokeRole(bytes32 roleaddress account
safeTransferFrom(address fromaddress touint256 tokenId
safeTransferFrom(address fromaddress touint256 tokenIdbytes _data
setApprovalForAll(address operatorbool approved
setFundsRecipient(address newRecipientAddress
setMetadataRenderer(address newRendererbytes metadataBasebytes dynamicMetadataInfo
setOwner(address newOwner
setPresaleConfiguration(struct IERC721CollectionPresaleConfiguration[] presaleStages
setPublicSaleConfiguration(struct IERC721CollectionPublicSaleConfiguration newConfig
setRoyalty(uint16 _royaltyBPS
setTradingLock(bool _locked
transferFrom(address fromaddress touint256 tokenId
upgradeTo(address newImplementation
upgradeToAndCall(address newImplementationbytes datapayable 
withdraw(
Events
AdminChanged(address previousAdminaddress newAdmin
Approval(address indexed owneraddress indexed approveduint256 indexed tokenId
ApprovalForAll(address indexed owneraddress indexed operatorbool approved
BatchMetadataUpdate(uint256 _fromTokenIduint256 _toTokenId
BeaconUpgraded(address indexed beacon
CollectionRevealed(address indexed revealedBy
ContractStatusChanged(address indexed changedBy
DynamicMetadataChanged(address changedBy
FundsReceived(address indexed sourceuint256 amount
FundsRecipientChanged(address indexed newAddressaddress indexed changedBy
FundsWithdrawn(address indexed withdrawnByaddress indexed withdrawnTouint256 amountaddress feeRecipientuint256 feeAmount
Initialized(uint8 version
LockTradingStatusChanged(address indexed changedBybool status
MetadataUpdate(uint256 _tokenId
MintComment(address indexed senderaddress indexed tokenContractuint256 indexed tokenIduint256 quantitystring comment
MintFeePayout(uint256 mintFeeAmountaddress mintFeeRecipientbool success
OpenMintFinalized(address indexed senderuint256 numberOfMints
OwnerCanceled(address indexed previousOwneraddress indexed potentialNewOwner
OwnerPending(address indexed previousOwneraddress indexed potentialNewOwner
OwnershipTransferred(address indexed previousOwneraddress indexed newOwner
PresaleConfigChanged(address indexed changedBy
PublicSaleConfigChanged(address indexed changedBy
RoleAdminChanged(bytes32 indexed rolebytes32 indexed previousAdminRolebytes32 indexed newAdminRole
RoleGranted(bytes32 indexed roleaddress indexed accountaddress indexed sender
RoleRevoked(bytes32 indexed roleaddress indexed accountaddress indexed sender
RoyaltyChanged(address indexed changedByuint256 newPercentage
Sale(uint8 phaseaddress indexed touint256 indexed quantityuint256 indexed pricePerTokenuint256 firstPurchasedTokenIduint256 presaleStage
Transfer(address indexed fromaddress indexed touint256 indexed tokenId
UpdatedMetadataRenderer(address senderaddress renderer
Upgraded(address indexed implementation
Constructor

This contract contains no constructor objects.

Fallback and receive
receive(
Errors
Access_MissingRoleOrAdmin(bytes32 role
Access_OnlyAdmin(
Access_WithdrawNotAllowed(
Admin_InvalidUpgradeAddress(address proposedAddress
Admin_UnableToFinalizeNotOpenEdition(
ApprovalCallerNotOwnerNorApproved(
ApprovalQueryForNonexistentToken(
ApprovalToCurrentOwner(
ApproveToCaller(
BalanceQueryForZeroAddress(
Collection_Aready_Revealed(
Collection_TradingLocked(
ExternalMetadataRenderer_CallFailed(
MintToZeroAddress(
MintZeroQuantity(
Mint_SoldOut(
ONLY_OWNER(
ONLY_PENDING_OWNER(
OwnerQueryForNonexistentToken(
Presale_ExceedStageSupply(
Presale_Inactive(
Presale_Invalid(
Presale_MerkleNotApproved(
Presale_TooManyForAddress(
Purchase_TooManyForAddress(
Purchase_WrongPrice(uint256 correctPrice
Sale_Inactive(
Setup_InvalidCollectionSize(
Setup_Presale_StageOutOfRange(
Setup_RoyaltyPercentageTooHigh(uint16 maxRoyaltyBPS
TransferCallerNotOwnerNorApproved(
TransferFromIncorrectOwner(
TransferToNonERC721ReceiverImplementer(
TransferToZeroAddress(
URIQueryForNonexistentToken(
Withdraw_FundsSendFailure(