Core
Modular
Token Attributes
Token Attributes Repository

RMRKTokenAttributesRepository

RMRK team

RMRKTokenAttributesRepository

Smart contract of the RMRK Token property repository module.

Methods

DOMAIN_SEPARATOR

function DOMAIN_SEPARATOR() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

SET_ADDRESS_ATTRIBUTE_TYPEHASH

function SET_ADDRESS_ATTRIBUTE_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

SET_BOOL_ATTRIBUTE_TYPEHASH

function SET_BOOL_ATTRIBUTE_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

SET_BYTES_ATTRIBUTE_TYPEHASH

function SET_BYTES_ATTRIBUTE_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

SET_STRING_ATTRIBUTE_TYPEHASH

function SET_STRING_ATTRIBUTE_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

SET_UINT_ATTRIBUTE_TYPEHASH

function SET_UINT_ATTRIBUTE_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

getAddressAttribute

function getAddressAttribute(address collection, uint256 tokenId, string key) external view returns (address attribute)

Used to retrieve the address type token attributes.

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
keystringThe key of the attribute

Returns

NameTypeDescription
attributeaddressThe value of the address attribute

getAddressAttributes

function getAddressAttributes(address collection, uint256 tokenId, string[] addressKeys) external view returns (struct IERC7508.AddressAttribute[] attributes)

Used to get multiple address parameter values for a token.

The AddressAttribute struct contains the following fields: [ string key, address value ]

Parameters

NameTypeDescription
collectionaddressAddress of the collection the token belongs to
tokenIduint256ID of the token for which the attributes are being retrieved
addressKeysstring[]An array of address keys to retrieve

Returns

NameTypeDescription
attributesIERC7508.AddressAttribute[]An array of AddressAttribute structs

getAttributes

function getAttributes(address collection, uint256 tokenId, string[] stringKeys, string[] uintKeys, string[] boolKeys, string[] addressKeys, string[] bytesKeys) external view returns (struct IERC7508.StringAttribute[] stringAttributes, struct IERC7508.UintAttribute[] uintAttributes, struct IERC7508.BoolAttribute[] boolAttributes, struct IERC7508.AddressAttribute[] addressAttributes, struct IERC7508.BytesAttribute[] bytesAttributes)

Used to retrieve multiple token attributes of any type at once.

The StringAttribute, UintAttribute, BoolAttribute, AddressAttribute and BytesAttribute structs consists to the following fields (where value is of the appropriate type): [ key, value, ]

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
stringKeysstring[]An array of string type attribute keys to retrieve
uintKeysstring[]An array of uint type attribute keys to retrieve
boolKeysstring[]An array of bool type attribute keys to retrieve
addressKeysstring[]An array of address type attribute keys to retrieve
bytesKeysstring[]An array of bytes type attribute keys to retrieve

Returns

NameTypeDescription
stringAttributesIERC7508.StringAttribute[]An array of StringAttribute structs containing the string type attributes
uintAttributesIERC7508.UintAttribute[]An array of UintAttribute structs containing the uint type attributes
boolAttributesIERC7508.BoolAttribute[]An array of BoolAttribute structs containing the bool type attributes
addressAttributesIERC7508.AddressAttribute[]An array of AddressAttribute structs containing the address type attributes
bytesAttributesIERC7508.BytesAttribute[]An array of BytesAttribute structs containing the bytes type attributes

getBoolAttribute

function getBoolAttribute(address collection, uint256 tokenId, string key) external view returns (bool attribute)

Used to retrieve the bool type token attributes.

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
keystringThe key of the attribute

Returns

NameTypeDescription
attributeboolThe value of the bool attribute

getBoolAttributes

function getBoolAttributes(address collection, uint256 tokenId, string[] boolKeys) external view returns (struct IERC7508.BoolAttribute[] attributes)

Used to get multiple bool parameter values for a token.

The BoolAttribute struct contains the following fields: [ string key, bool value ]

Parameters

NameTypeDescription
collectionaddressAddress of the collection the token belongs to
tokenIduint256ID of the token for which the attributes are being retrieved
boolKeysstring[]An array of bool keys to retrieve

Returns

NameTypeDescription
attributesIERC7508.BoolAttribute[]An array of BoolAttribute structs

getBytesAttribute

function getBytesAttribute(address collection, uint256 tokenId, string key) external view returns (bytes attribute)

Used to retrieve the bytes type token attributes.

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
keystringThe key of the attribute

Returns

NameTypeDescription
attributebytesThe value of the bytes attribute

getBytesAttributes

function getBytesAttributes(address collection, uint256 tokenId, string[] bytesKeys) external view returns (struct IERC7508.BytesAttribute[] attributes)

Used to get multiple bytes parameter values for a token.

The BytesAttribute struct contains the following fields: [ string key, bytes value ]

Parameters

NameTypeDescription
collectionaddressAddress of the collection the token belongs to
tokenIduint256ID of the token for which the attributes are being retrieved
bytesKeysstring[]An array of bytes keys to retrieve

Returns

NameTypeDescription
attributesIERC7508.BytesAttribute[]An array of BytesAttribute structs

getStringAttribute

function getStringAttribute(address collection, uint256 tokenId, string key) external view returns (string attribute)

Used to retrieve the string type token attributes.

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
keystringThe key of the attribute

Returns

NameTypeDescription
attributestringThe value of the string attribute

getStringAttributes

function getStringAttributes(address collection, uint256 tokenId, string[] stringKeys) external view returns (struct IERC7508.StringAttribute[] attributes)

Used to get multiple sting parameter values for a token.

The StringAttribute struct contains the following fields: [ string key, string value ]

Parameters

NameTypeDescription
collectionaddressAddress of the collection the token belongs to
tokenIduint256ID of the token for which the attributes are being retrieved
stringKeysstring[]An array of string keys to retrieve

Returns

NameTypeDescription
attributesIERC7508.StringAttribute[]An array of StringAttribute structs

getUintAttribute

function getUintAttribute(address collection, uint256 tokenId, string key) external view returns (uint256 attribute)

Used to retrieve the uint type token attributes.

Parameters

NameTypeDescription
collectionaddressThe collection address
tokenIduint256The token ID
keystringThe key of the attribute

Returns

NameTypeDescription
attributeuint256The value of the uint attribute

getUintAttributes

function getUintAttributes(address collection, uint256 tokenId, string[] uintKeys) external view returns (struct IERC7508.UintAttribute[] attributes)

Used to get multiple uint parameter values for a token.

The UintAttribute struct contains the following fields: [ string key, uint value ]

Parameters

NameTypeDescription
collectionaddressAddress of the collection the token belongs to
tokenIduint256ID of the token for which the attributes are being retrieved
uintKeysstring[]An array of uint keys to retrieve

Returns

NameTypeDescription
attributesIERC7508.UintAttribute[]An array of UintAttribute structs

isCollaborator

function isCollaborator(address collaborator, address collection) external view returns (bool isCollaborator_)

Used to check if the specified address is listed as a collaborator of the given collection's parameter.

Parameters

NameTypeDescription
collaboratoraddressAddress to be checked.
collectionaddressAddress of the collection.

Returns

NameTypeDescription
isCollaborator_boolBoolean value indicating if the address is a collaborator of the given collection's (true) or not (false).

isSpecificAddress

function isSpecificAddress(address specificAddress, address collection, string key) external view returns (bool isSpecificAddress_)

Used to check if the specified address is listed as a specific address of the given collection's parameter.

Parameters

NameTypeDescription
specificAddressaddressAddress to be checked.
collectionaddressAddress of the collection.
keystringThe key of the attribute

Returns

NameTypeDescription
isSpecificAddress_boolBoolean value indicating if the address is a specific address of the given collection's parameter (true) or not (false).

manageAccessControl

function manageAccessControl(address collection, string key, enum IERC7508.AccessType accessType, address specificAddress) external nonpayable

Used to manage the access control settings for a specific parameter.

Only the issuer of the collection can call this function.The possible accessType values are: [ Issuer, Collaborator, IssuerOrCollaborator, TokenOwner, SpecificAddress, ]Emits an {AccessControlUpdated} event.

Parameters

NameTypeDescription
collectionaddressThe address of the collection being managed.
keystringThe key of the attribute
accessTypeenum IERC7508.AccessTypeThe type of access control to be applied to the parameter.
specificAddressaddressThe address to be added as a specific addresses allowed to manage the given parameter.

manageCollaborators

function manageCollaborators(address collection, address[] collaboratorAddresses, bool[] collaboratorAddressAccess) external nonpayable

Used to manage the collaborators of a collection.

The collaboratorAddresses and collaboratorAddressAccess arrays must be of the same length.Emits a {CollaboratorUpdate} event.

Parameters

NameTypeDescription
collectionaddressThe address of the collection
collaboratorAddressesaddress[]The array of collaborator addresses being managed
collaboratorAddressAccessbool[]The array of boolean values indicating if the collaborator address should receive the permission (true) or not (false).

prepareMessageToPresignAddressAttribute

function prepareMessageToPresignAddressAttribute(address collection, uint256 tokenId, string key, address value, uint256 deadline) external view returns (bytes32 message)

Used to retrieve the message to be signed for submitting a presigned address attribute change.

Parameters

NameTypeDescription
collectionaddressThe address of the collection smart contract of the token receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueaddressThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction after which the message is invalid

Returns

NameTypeDescription
messagebytes32Raw message to be signed by the authorized account

prepareMessageToPresignBoolAttribute

function prepareMessageToPresignBoolAttribute(address collection, uint256 tokenId, string key, bool value, uint256 deadline) external view returns (bytes32 message)

Used to retrieve the message to be signed for submitting a presigned bool attribute change.

Parameters

NameTypeDescription
collectionaddressThe address of the collection smart contract of the token receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueboolThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction after which the message is invalid

Returns

NameTypeDescription
messagebytes32Raw message to be signed by the authorized account

prepareMessageToPresignBytesAttribute

function prepareMessageToPresignBytesAttribute(address collection, uint256 tokenId, string key, bytes value, uint256 deadline) external view returns (bytes32 message)

Used to retrieve the message to be signed for submitting a presigned bytes attribute change.

Parameters

NameTypeDescription
collectionaddressThe address of the collection smart contract of the token receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valuebytesThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction after which the message is invalid

Returns

NameTypeDescription
messagebytes32Raw message to be signed by the authorized account

prepareMessageToPresignStringAttribute

function prepareMessageToPresignStringAttribute(address collection, uint256 tokenId, string key, string value, uint256 deadline) external view returns (bytes32 message)

Used to retrieve the message to be signed for submitting a presigned string attribute change.

Parameters

NameTypeDescription
collectionaddressThe address of the collection smart contract of the token receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valuestringThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction after which the message is invalid

Returns

NameTypeDescription
messagebytes32Raw message to be signed by the authorized account

prepareMessageToPresignUintAttribute

function prepareMessageToPresignUintAttribute(address collection, uint256 tokenId, string key, uint256 value, uint256 deadline) external view returns (bytes32 message)

Used to retrieve the message to be signed for submitting a presigned uint attribute change.

Parameters

NameTypeDescription
collectionaddressThe address of the collection smart contract of the token receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueuint256The attribute value
deadlineuint256The deadline timestamp for the presigned transaction after which the message is invalid

Returns

NameTypeDescription
messagebytes32Raw message to be signed by the authorized account

presignedSetAddressAttribute

function presignedSetAddressAttribute(address setter, address collection, uint256 tokenId, string key, address value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Used to set the address attribute on behalf of an authorized account.

Emits a {AddressAttributeUpdated} event.

Parameters

NameTypeDescription
setteraddressAddress of the account that presigned the attribute change
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueaddressThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction
vuint8v value of an ECDSA signature of the presigned message
rbytes32r value of an ECDSA signature of the presigned message
sbytes32s value of an ECDSA signature of the presigned message

presignedSetBoolAttribute

function presignedSetBoolAttribute(address setter, address collection, uint256 tokenId, string key, bool value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Used to set the bool attribute on behalf of an authorized account.

Emits a {BoolAttributeUpdated} event.

Parameters

NameTypeDescription
setteraddressAddress of the account that presigned the attribute change
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueboolThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction
vuint8v value of an ECDSA signature of the presigned message
rbytes32r value of an ECDSA signature of the presigned message
sbytes32s value of an ECDSA signature of the presigned message

presignedSetBytesAttribute

function presignedSetBytesAttribute(address setter, address collection, uint256 tokenId, string key, bytes value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Used to set the bytes attribute on behalf of an authorized account.

Emits a {BytesAttributeUpdated} event.

Parameters

NameTypeDescription
setteraddressAddress of the account that presigned the attribute change
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valuebytesThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction
vuint8v value of an ECDSA signature of the presigned message
rbytes32r value of an ECDSA signature of the presigned message
sbytes32s value of an ECDSA signature of the presigned message

presignedSetStringAttribute

function presignedSetStringAttribute(address setter, address collection, uint256 tokenId, string key, string value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Used to set the string attribute on behalf of an authorized account.

Emits a {StringAttributeUpdated} event.

Parameters

NameTypeDescription
setteraddressAddress of the account that presigned the attribute change
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valuestringThe attribute value
deadlineuint256The deadline timestamp for the presigned transaction
vuint8v value of an ECDSA signature of the presigned message
rbytes32r value of an ECDSA signature of the presigned message
sbytes32s value of an ECDSA signature of the presigned message

presignedSetUintAttribute

function presignedSetUintAttribute(address setter, address collection, uint256 tokenId, string key, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Used to set the uint attribute on behalf of an authorized account.

Emits a {UintAttributeUpdated} event.

Parameters

NameTypeDescription
setteraddressAddress of the account that presigned the attribute change
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The ID of the token receiving the attribute
keystringThe attribute key
valueuint256The attribute value
deadlineuint256The deadline timestamp for the presigned transaction
vuint8v value of an ECDSA signature of the presigned message
rbytes32r value of an ECDSA signature of the presigned message
sbytes32s value of an ECDSA signature of the presigned message

registerAccessControl

function registerAccessControl(address collection, address issuer, bool useOwnable) external nonpayable

Used to register a collection to use the RMRK token attributes repository.

If the collection does not implement the Ownable interface, the useOwnable value must be set to false.Emits an {AccessControlRegistration} event.

Parameters

NameTypeDescription
collectionaddressThe address of the collection that will use the RMRK token attributes repository.
issueraddressThe address of the issuer of the collection.
useOwnableboolThe boolean value to indicate if the collection implements the Ownable interface and whether it should be used to validate that the caller is the issuer (true) or to use the manually set issuer address (false).

setAddressAttribute

function setAddressAttribute(address collection, uint256 tokenId, string key, address value) external nonpayable

Used to set an address attribute.

Emits a {AddressAttributeUpdated} event.

Parameters

NameTypeDescription
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The token ID
keystringThe attribute key
valueaddressThe attribute value

setAddressAttributes

function setAddressAttributes(address collection, uint256 tokenId, IERC7508.AddressAttribute[] attributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
attributesIERC7508.AddressAttribute[]undefined

setAttributes

function setAttributes(address collection, uint256 tokenId, IERC7508.StringAttribute[] stringAttributes, IERC7508.UintAttribute[] uintAttributes, IERC7508.BoolAttribute[] boolAttributes, IERC7508.AddressAttribute[] addressAttributes, IERC7508.BytesAttribute[] bytesAttributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
stringAttributesIERC7508.StringAttribute[]undefined
uintAttributesIERC7508.UintAttribute[]undefined
boolAttributesIERC7508.BoolAttribute[]undefined
addressAttributesIERC7508.AddressAttribute[]undefined
bytesAttributesIERC7508.BytesAttribute[]undefined

setBoolAttribute

function setBoolAttribute(address collection, uint256 tokenId, string key, bool value) external nonpayable

Used to set a boolean attribute.

Emits a {BoolAttributeUpdated} event.

Parameters

NameTypeDescription
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The token ID
keystringThe attribute key
valueboolThe attribute value

setBoolAttributes

function setBoolAttributes(address collection, uint256 tokenId, IERC7508.BoolAttribute[] attributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
attributesIERC7508.BoolAttribute[]undefined

setBytesAttribute

function setBytesAttribute(address collection, uint256 tokenId, string key, bytes value) external nonpayable

Used to set an bytes attribute.

Emits a {BytesAttributeUpdated} event.

Parameters

NameTypeDescription
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The token ID
keystringThe attribute key
valuebytesThe attribute value

setBytesAttributes

function setBytesAttributes(address collection, uint256 tokenId, IERC7508.BytesAttribute[] attributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
attributesIERC7508.BytesAttribute[]undefined

setStringAttribute

function setStringAttribute(address collection, uint256 tokenId, string key, string value) external nonpayable

Used to set a string attribute.

Emits a {StringAttributeUpdated} event.

Parameters

NameTypeDescription
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The token ID
keystringThe attribute key
valuestringThe attribute value

setStringAttributes

function setStringAttributes(address collection, uint256 tokenId, IERC7508.StringAttribute[] attributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
attributesIERC7508.StringAttribute[]undefined

setUintAttribute

function setUintAttribute(address collection, uint256 tokenId, string key, uint256 value) external nonpayable

Used to set a number attribute.

Emits a {UintAttributeUpdated} event.

Parameters

NameTypeDescription
collectionaddressAddress of the collection receiving the attribute
tokenIduint256The token ID
keystringThe attribute key
valueuint256The attribute value

setUintAttributes

function setUintAttributes(address collection, uint256 tokenId, IERC7508.UintAttribute[] attributes) external nonpayable

Parameters

NameTypeDescription
collectionaddressundefined
tokenIduint256undefined
attributesIERC7508.UintAttribute[]undefined

supportsInterface

function supportsInterface(bytes4 interfaceId) external view returns (bool)

Returns true if this contract implements the interface defined by interfaceId. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP (opens in a new tab) section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

Parameters

NameTypeDescription
interfaceIdbytes4undefined

Returns

NameTypeDescription
_0boolundefined

Events

AccessControlRegistration

event AccessControlRegistration(address indexed collection, address indexed issuer, address indexed registeringAddress, bool useOwnable)

Used to notify listeners that a new collection has been registered to use the repository.

Parameters

NameTypeDescription
collection indexedaddressAddress of the collection
issuer indexedaddressAddress of the issuer of the collection; the addess authorized to manage the access control
registeringAddress indexedaddressAddress that registered the collection
useOwnableboolA boolean value indicating whether the collection uses the Ownable extension to verify the issuer (true) or not (false)

AccessControlUpdate

event AccessControlUpdate(address indexed collection, string key, enum IERC7508.AccessType accessType, address specificAddress)

Used to notify listeners that the access control settings for a specific parameter have been updated.

Parameters

NameTypeDescription
collection indexedaddressAddress of the collection
keystringThe name of the parameter for which the access control settings have been updated
accessTypeenum IERC7508.AccessTypeThe AccessType of the parameter for which the access control settings have been updated
specificAddressaddressThe specific addresses that has been updated

AddressAttributeUpdated

event AddressAttributeUpdated(address indexed collection, uint256 indexed tokenId, string key, address value)

Used to notify listeners that an address attribute has been updated.

Parameters

NameTypeDescription
collection indexedaddressThe collection address
tokenId indexeduint256The token ID
keystringThe key of the attribute
valueaddressThe new value of the attribute

BoolAttributeUpdated

event BoolAttributeUpdated(address indexed collection, uint256 indexed tokenId, string key, bool value)

Used to notify listeners that a boolean attribute has been updated.

Parameters

NameTypeDescription
collection indexedaddressThe collection address
tokenId indexeduint256The token ID
keystringThe key of the attribute
valueboolThe new value of the attribute

BytesAttributeUpdated

event BytesAttributeUpdated(address indexed collection, uint256 indexed tokenId, string key, bytes value)

Used to notify listeners that a bytes attribute has been updated.

Parameters

NameTypeDescription
collection indexedaddressThe collection address
tokenId indexeduint256The token ID
keystringThe key of the attribute
valuebytesThe new value of the attribute

CollaboratorUpdate

event CollaboratorUpdate(address indexed collection, address indexed collaborator, bool isCollaborator)

Used to notify listeners that a new collaborator has been added or removed.

Parameters

NameTypeDescription
collection indexedaddressAddress of the collection
collaborator indexedaddressAddress of the collaborator
isCollaboratorboolA boolean value indicating whether the collaborator has been added (true) or removed (false)

StringAttributeUpdated

event StringAttributeUpdated(address indexed collection, uint256 indexed tokenId, string key, string value)

Used to notify listeners that a string attribute has been updated.

Parameters

NameTypeDescription
collection indexedaddressThe collection address
tokenId indexeduint256The token ID
keystringThe key of the attribute
valuestringThe new value of the attribute

UintAttributeUpdated

event UintAttributeUpdated(address indexed collection, uint256 indexed tokenId, string key, uint256 value)

Used to notify listeners that an uint attribute has been updated.

Parameters

NameTypeDescription
collection indexedaddressThe collection address
tokenId indexeduint256The token ID
keystringThe key of the attribute
valueuint256The new value of the attribute

Errors

CollaboratorArraysNotEqualLength

error CollaboratorArraysNotEqualLength()

Used to signal that the collaborator and collaborator rights array are not of equal length.

CollectionAlreadyRegistered

error CollectionAlreadyRegistered()

Used to signal that the collection is already registered in the repository.

CollectionNotRegistered

error CollectionNotRegistered()

Used to signal that the collection is not registered in the repository yet.

ExpiredDeadline

error ExpiredDeadline()

Used to signal that the presigned message's deadline has expired.

InvalidSignature

error InvalidSignature()

Used to signal that the presigned message's signature is invalid.

NotCollectionCollaborator

error NotCollectionCollaborator()

Used to signal that the caller is not aa collaborator of the collection.

NotCollectionIssuer

error NotCollectionIssuer()

Used to signal that the caller is not the issuer of the collection.

NotCollectionIssuerOrCollaborator

error NotCollectionIssuerOrCollaborator()

Used to signal that the caller is not the issuer or a collaborator of the collection.

NotSpecificAddress

error NotSpecificAddress()

Used to signal that the caller is not the specific address allowed to manage the attribute.

NotTokenOwner

error NotTokenOwner()

Used to signal that the caller is not the owner of the token.

OwnableNotImplemented

error OwnableNotImplemented()

Used to signal that the smart contract interacting with the repository does not implement Ownable pattern.