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.

Avatars

Verified contract

Proxy

Active on Base with 100,507 txns
Deployed by via 0x8bdbece6 at 17286057
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
 (#37752)
ERC-721
--
0x033928edc0511b518ee3a5308d85944eb68f0a3c89d8e6077a18582f7297ef4a
0x2b23ff676e18f1bb6479f99b261a88b4534edf001904d57b14fce4c8756a93ca
0x443738fdbc19ebcd3f18774d921db0bb64fed4e4f2e5eca5b4555f5f2713f241
0x0f5e549de31d140dd72bc0b937aa143f1e1960e6b94857049960aaf2bb59636c
0x40a4d30605cf57fd29af0d351fdf5bdd824c48aa28609001911cc15623318f4b
0x0b6ebddf8f81206f58d76828bc49f70f996976ba866bdd93f5303fd58d189c33
0xbdcacd6d7856cd74b5f4083bcce72d783477458944f28402cdd0f135dc649e63
0xf906a16a8379b3c9d81b288aa64d723bed22f50f72bf499a6e12c37ffda2dec4
0xdda5727c07abb35cb25b0765058fa7e1a9f71441782f1915bc9882645aa7b9e8
0xa8c10e6c7df4c1bee119065d580494bc2a4471f1cd2c66ded1ab035a13251e4a

Functions
Getter at block 23844439
UPGRADE_INTERFACE_VERSION(view returns (string)
5.0.0
authority(view returns (address)
0x0ff9a807f1c8d220344aeb4acb2fbf0812508184
childAddresses(view returns (address[])
[0xb5F58FE2FdD79B279bF2b201F91Ba784b79c8744]
contractURI(view returns (string)
ipfs://QmYeBA6FsGiDEiFFZEWLh6DJQ3rqawY8AspEKzksSsCfjy
getAvatarMetadataAddress(view returns (address)
0xaf9c2d961d325393699a9ff6584a0b9fc770e050
getWearableAddress(view returns (address)
0xb5f58fe2fdd79b279bf2b201f91ba784b79c8744
isConsumingScheduledOp(view returns (bytes4)
0x00000000
name(view returns (string)
Avatars
nextTokenId(view returns (uint256)
70685
parentAddresses(view returns (address[])
[]
 
proxiableUUID(view returns (bytes32)
symbol(view returns (string)
AVATAR
trustedForwarder(view returns (address)
0x55ee059d23c55b5a6953823286a718feb82cf70b
Read-only
balanceOf(address ownerview returns (uint256)
childOf(uint256 parentIdaddress childAddressuint256 indexview returns (uint256)
childOf(uint256 parentIduint256 indexview returns (struct IERC7401Child)
childrenOf(uint256 parentIdview returns (struct IERC7401Child[] children)
childrenOf(uint256 parentIdaddress childAddressview returns (uint256[])
directOwnerOf(uint256 tokenIdview returns (address owner_uint256 parentIdbool isNFT)
getApproved(uint256 tokenIdview returns (address)
getMetadata(uint256 tokenIdview returns (struct AvatarMetadataTokenMetadata)
getName(uint256 tokenIdview returns (string)
getNameOwner(string nameview returns (uint256)
isApprovedForAll(address owneraddress operatorview returns (bool)
isChildAddress(address childAddressview returns (bool)
isParentAddress(address parentAddressview returns (bool)
isTrustedForwarder(address forwarderview returns (bool)
ownerOf(uint256 tokenIdview returns (address)
pendingChildOf(uint256 parentIduint256 indexview returns (struct IERC7401Child)
pendingChildrenOf(uint256 parentIdview returns (struct IERC7401Child[])
royaltyInfo(uint256 tokenIduint256 salePriceview returns (addressuint256)
supportsInterface(bytes4 interfaceIdview returns (bool)
tokenURI(uint256 tokenIdview returns (string)
State-modifying
acceptChild(uint256 parentIduint256 childIndexaddress childAddressuint256 childId
addChild(uint256 parentIduint256 childIdbytes data
adminMigration(address migrationWhitelistaddress[] ownersuint256[] idsbytes data
approve(address touint256 tokenId
batchTransferChild(uint256 tokenIdaddress touint256 destinationIdaddress childAddressuint256[] childIndexesuint256[] childIdsbytes data
burn(uint256 tokenId
burn(uint256 tokenIduint256 maxChildrenBurnsreturns (uint256)
emitBatchMetadataUpdate(uint256 fromTokenIduint256 toTokenId
initialize(address initialAuthorityaddress avatarMetadata_
nestBatchTransferFrom(address fromaddress touint256[] tokenIdsuint256 destinationIdbytes data
nestTransferFrom(address fromaddress touint256 tokenIduint256 destinationIdbytes data
rejectAllChildren(uint256 tokenIduint256 maxRejections
safeBatchTransferFrom(address fromaddress touint256[] tokenIdsbytes data
safeMint(address tostring namebytes data
safeMintWithMetadata(address tostring namestruct AvatarMetadataTokenMetadata tokenMetadatabytes data
safeTransferFrom(address fromaddress touint256 tokenId
safeTransferFrom(address fromaddress touint256 tokenIdbytes data
setApprovalForAll(address operatorbool approved
setAuthority(address newAuthority
setContractURI(string contractURI_
setRoyaltyInfo(address receiveruint96 feeNumerator
setTrustedForwarder(address trustedForwarder_
setWearableContract(address wearable_
transferChild(uint256 tokenIdaddress touint256 destinationIduint256 childIndexaddress childAddressuint256 childIdboolbytes data
transferFrom(address fromaddress touint256 tokenId
updateAvatar(uint256 tokenIdstruct AvatarMetadataTokenMetadata tokenMetadatabytes signatureuint256[] remainingWearableIdsuint256[] addedWearableIdsuint256[] removedWearableIndexesuint256[] removedWearableIds
updateAvatarAdmin(uint256 tokenIdstruct AvatarMetadataTokenMetadata tokenMetadatauint256[] remainingWearableIdsuint256[] addedWearableIdsuint256[] removedWearableIndexesuint256[] removedWearableIds
upgradeToAndCall(address newImplementationbytes datapayable 
Events
Upgraded(address indexed implementation
AllChildrenRejected(uint256 indexed tokenId
Approval(address indexed owneraddress indexed approveduint256 indexed tokenId
ApprovalForAll(address indexed owneraddress indexed operatorbool approved
AuthorityUpdated(address authority
BatchMetadataUpdate(uint256 _fromTokenIduint256 _toTokenId
ChildAccepted(uint256 indexed tokenIduint256 childIndexaddress indexed childAddressuint256 indexed childId
ChildProposed(uint256 indexed tokenIduint256 childIndexaddress indexed childAddressuint256 indexed childId
ChildTransferred(uint256 indexed tokenIduint256 childIndexaddress indexed childAddressuint256 indexed childIdbool fromPendingbool toZero
ContractURIUpdated(
Initialized(uint64 version
MetadataUpdate(uint256 _tokenId
MetadataUpdated(uint256 indexed tokenIdstruct AvatarMetadataTokenMetadata metadata
NameUpdated(uint256 indexed tokenIdstring name
NestTransfer(address indexed fromaddress indexed touint256 fromTokenIduint256 toTokenIduint256 indexed tokenId
Transfer(address indexed fromaddress indexed touint256 indexed tokenId
Upgraded(address indexed implementation
Constructor
constructor(address implementationbytes _data
Fallback and receive
fallback(
Errors
AddressEmptyCode(address target
ERC1967InvalidImplementation(address implementation
ERC1967NonPayable(
FailedInnerCall(
AccessManagedInvalidAuthority(address authority
AccessManagedRequiredDelay(address calleruint32 delay
AccessManagedUnauthorized(address caller
AddressEmptyCode(address target
AvatarAlreadyNamed(
ChildrenLengthMismatch(uint256 tokenIduint256 childrenLengthuint256 expectedChildrenLength
Disabled(
ERC1967InvalidImplementation(address implementation
ERC1967NonPayable(
ERC721AddressZeroIsNotaValidOwner(
ERC721ApprovalToCurrentOwner(
ERC721ApproveCallerIsNotOwnerNorApprovedForAll(
ERC721ApproveToCaller(
ERC721InvalidTokenId(
ERC721MintToTheZeroAddress(
ERC721NotApprovedOrOwner(
ERC721TokenAlreadyMinted(
ERC721TransferFromIncorrectOwner(
ERC721TransferToNonReceiverImplementer(
ERC721TransferToTheZeroAddress(
ERC7401ChildIndexOutOfRange(
ERC7401DChildIndexesNotDescending(
ERC7401DFunctionNotSupported(
ERC7401DInvalidChildAddress(address childAddress
ERC7401DInvalidParentAddress(address parentAddress
ERC7401DLengthMismatch(
ERC7401IdZeroForbidden(
ERC7401IsNotAnERC7401Contract(
ERC7401IsNotContract(
ERC7401MaxRecursiveBurnsReached(address childContractuint256 childId
ERC7401NestableTooDeep(
ERC7401NestableTransferToDescendant(
ERC7401NestableTransferToSelf(
ERC7401NotApprovedOrDirectOwner(
ERC7401UnexpectedChildId(
FailedInnerCall(
InvalidFeeNumerator(
InvalidInitialization(
InvalidNameCharacters(
InvalidNameLength(
NameAlreadyUsed(
NotApprovedOrOwnerOfWearable(address operatoruint256 tokenId
NotInitializing(
NotOwnerOfWearable(address senderaddress owneruint256 tokenId
TrustedForwarderAlreadySet(
UUPSUnauthorizedCallContext(
UUPSUnsupportedProxiableUUID(bytes32 slot
WearableContractAlreadySet(