diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md b/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md deleted file mode 100644 index e54093b81..000000000 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md +++ /dev/null @@ -1,2283 +0,0 @@ - - - -# LSP8Mintable - -:::info Standard Specifications - -[`LSP-8-IdentifiableDigitalAsset`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md) - -::: -:::info Solidity implementation - -[`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) - -::: - -> LSP8IdentifiableDigitalAsset deployable preset contract with a public [`mint`](#mint) function callable only by the contract [`owner`](#owner). - -## Public Methods - -Public methods are accessible externally from users, allowing interaction with this function from dApps or other smart contracts. -When marked as 'public', a method can be called both externally and internally, on the other hand, when marked as 'external', a method can only be called externally. - -### constructor - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#constructor) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) - -::: - -```solidity -constructor( - string name_, - string symbol_, - address newOwner_, - uint256 lsp4TokenType_, - uint256 lsp8TokenIdFormat_ -); -``` - -_Deploying a `LSP8Mintable` token contract with: token name = `name_`, token symbol = `symbol_`, and address `newOwner_` as the token contract owner._ - -#### Parameters - -| Name | Type | Description | -| -------------------- | :-------: | ---------------------------------------------------------------------------------------------------- | -| `name_` | `string` | The name of the token. | -| `symbol_` | `string` | The symbol of the token. | -| `newOwner_` | `address` | The owner of the token contract. | -| `lsp4TokenType_` | `uint256` | The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). | -| `lsp8TokenIdFormat_` | `uint256` | The format of tokenIds (= NFTs) that this contract will create. | - -
- -### fallback - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#fallback) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) - -::: - -```solidity -fallback(bytes calldata callData) external payable returns (bytes memory); -``` - -_The `fallback` function was called with the following amount of native tokens: `msg.value`; and the following calldata: `callData`._ - -Achieves the goal of [LSP-17-ContractExtension] standard by extending the contract to handle calls of functions that do not exist natively, -forwarding the function call to the extension address mapped to the function being called. -This function is executed when: - -- Sending data of length less than 4 bytes to the contract. - -- The first 4 bytes of the calldata do not match any publicly callable functions from the contract ABI. - -- Receiving native tokens - -1. If the data is equal or longer than 4 bytes, the [ERC-725Y] storage is queried with the following data key: [_LSP17_EXTENSION_PREFIX] + `bytes4(msg.sig)` (Check [LSP-2-ERC725YJSONSchema] for encoding the data key) - -- If there is no address stored under the following data key, revert with [`NoExtensionFoundForFunctionSelector(bytes4)`](#noextensionfoundforfunctionselector). The data key relative to `bytes4(0)` is an exception, where no reverts occurs if there is no extension address stored under. This exception is made to allow users to send random data (graffiti) to the account and to be able to react on it. - -- If there is an address, forward the `msg.data` to the extension using the CALL opcode, appending 52 bytes (20 bytes of `msg.sender` and 32 bytes of `msg.value`). Return what the calls returns, or revert if the call failed. - -2. If the data sent to this function is of length less than 4 bytes (not a function selector), revert. - -
- -### receive - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#receive) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) - -::: - -```solidity -receive() external payable; -``` - -_LSP8 contract cannot receive native tokens._ - -Reverts whenever someone tries to send native tokens to a LSP8 contract. - -
- -### authorizeOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#authorizeoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `authorizeOperator(address,bytes32,bytes)` -- Function selector: `0x86a10ddd` - -::: - -```solidity -function authorizeOperator( - address operator, - bytes32 tokenId, - bytes operatorNotificationData -) external nonpayable; -``` - -Allow an `operator` address to transfer or burn a specific `tokenId` on behalf of its token owner. See [`isOperatorFor`](#isoperatorfor). Notify the operator based on the LSP1-UniversalReceiver standard - -#### Parameters - -| Name | Type | Description | -| -------------------------- | :-------: | ----------------------------------------------- | -| `operator` | `address` | The address to authorize as an operator. | -| `tokenId` | `bytes32` | The token ID operator has access to. | -| `operatorNotificationData` | `bytes` | The data to notify the operator about via LSP1. | - -
- -### balanceOf - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#balanceof) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `balanceOf(address)` -- Function selector: `0x70a08231` - -::: - -```solidity -function balanceOf(address tokenOwner) external view returns (uint256); -``` - -Get the number of token IDs owned by `tokenOwner`. - -#### Parameters - -| Name | Type | Description | -| ------------ | :-------: | ----------------------- | -| `tokenOwner` | `address` | The address to query \* | - -#### Returns - -| Name | Type | Description | -| ---- | :-------: | ----------------------------------------------------- | -| `0` | `uint256` | The total number of token IDs that `tokenOwner` owns. | - -
- -### batchCalls - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#batchcalls) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `batchCalls(bytes[])` -- Function selector: `0x6963d438` - -::: - -:::info - -It's not possible to send value along the functions call due to the use of `delegatecall`. - -::: - -```solidity -function batchCalls(bytes[] data) external nonpayable returns (bytes[] results); -``` - -_Executing the following batch of abi-encoded function calls on the contract: `data`._ - -Allows a caller to batch different function calls in one call. Perform a `delegatecall` on self, to call different functions with preserving the context. - -#### Parameters - -| Name | Type | Description | -| ------ | :-------: | -------------------------------------------------------------------- | -| `data` | `bytes[]` | An array of ABI encoded function calls to be called on the contract. | - -#### Returns - -| Name | Type | Description | -| --------- | :-------: | ---------------------------------------------------------------- | -| `results` | `bytes[]` | An array of abi-encoded data returned by the functions executed. | - -
- -### getData - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdata) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `getData(bytes32)` -- Function selector: `0x54f6127f` - -::: - -```solidity -function getData(bytes32 dataKey) external view returns (bytes dataValue); -``` - -_Reading the ERC725Y storage for data key `dataKey` returned the following value: `dataValue`._ - -Get in the ERC725Y storage the bytes data stored at a specific data key `dataKey`. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | --------------------------------------------- | -| `dataKey` | `bytes32` | The data key for which to retrieve the value. | - -#### Returns - -| Name | Type | Description | -| ----------- | :-----: | ---------------------------------------------------- | -| `dataValue` | `bytes` | The bytes value stored under the specified data key. | - -
- -### getDataBatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `getDataBatch(bytes32[])` -- Function selector: `0xdedff9c6` - -::: - -```solidity -function getDataBatch( - bytes32[] dataKeys -) external view returns (bytes[] dataValues); -``` - -_Reading the ERC725Y storage for data keys `dataKeys` returned the following values: `dataValues`._ - -Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys`. - -#### Parameters - -| Name | Type | Description | -| ---------- | :---------: | ------------------------------------------ | -| `dataKeys` | `bytes32[]` | The array of keys which values to retrieve | - -#### Returns - -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------- | -| `dataValues` | `bytes[]` | The array of data stored at multiple keys | - -
- -### getDataBatchForTokenIds - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` -- Function selector: `0x1d26fce6` - -::: - -```solidity -function getDataBatchForTokenIds( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); -``` - -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ - -#### Parameters - -| Name | Type | Description | -| ---------- | :---------: | ----------------------------------------------------- | -| `tokenIds` | `bytes32[]` | An array of token IDs. | -| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | - -#### Returns - -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | - -
- -### getDataForTokenId - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `getDataForTokenId(bytes32,bytes32)` -- Function selector: `0x16e023b3` - -::: - -```solidity -function getDataForTokenId( - bytes32 tokenId, - bytes32 dataKey -) external view returns (bytes dataValue); -``` - -_Retrieves data for a specific `tokenId` and `dataKey`._ - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ---------------------------------- | -| `tokenId` | `bytes32` | The unique identifier for a token. | -| `dataKey` | `bytes32` | The key for the data to retrieve. | - -#### Returns - -| Name | Type | Description | -| ----------- | :-----: | ----------------------------------------------------------------- | -| `dataValue` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | - -
- -### getOperatorsOf - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` - -::: - -```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); -``` - -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | - -#### Returns - -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | - -
- -### isOperatorFor - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#isoperatorfor) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `isOperatorFor(address,bytes32)` -- Function selector: `0x2a3654a4` - -::: - -```solidity -function isOperatorFor( - address operator, - bytes32 tokenId -) external view returns (bool); -``` - -Returns whether `operator` address is an operator for a given `tokenId`. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ------------------------------------------------------------- | -| `operator` | `address` | The address to query operator status for. | -| `tokenId` | `bytes32` | The token ID to check if `operator` is allowed to operate on. | - -#### Returns - -| Name | Type | Description | -| ---- | :----: | --------------------------------------------------------------------- | -| `0` | `bool` | `true` if `operator` is an operator for `tokenId`, `false` otherwise. | - -
- -### mint - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#mint) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `mint(address,bytes32,bool,bytes)` -- Function selector: `0xaf255b61` - -::: - -```solidity -function mint( - address to, - bytes32 tokenId, - bool force, - bytes data -) external nonpayable; -``` - -_Minting tokenId `tokenId` for address `to` with the additional data `data` (Note: allow non-LSP1 recipient is set to `force`)._ - -Public [`_mint`](#_mint) function only callable by the [`owner`](#owner). - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ------------------------------------------------------------------------------------------------------------------------------ | -| `to` | `address` | The address that will receive the minted `tokenId`. | -| `tokenId` | `bytes32` | The tokenId to mint. | -| `force` | `bool` | Set to `false` to ensure that you are minting for a recipient that implements LSP1, `false` otherwise for forcing the minting. | -| `data` | `bytes` | Any addition data to be sent alongside the minting. | - -
- -### owner - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#owner) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `owner()` -- Function selector: `0x8da5cb5b` - -::: - -```solidity -function owner() external view returns (address); -``` - -Returns the address of the current owner. - -#### Returns - -| Name | Type | Description | -| ---- | :-------: | ----------- | -| `0` | `address` | - | - -
- -### renounceOwnership - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#renounceownership) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `renounceOwnership()` -- Function selector: `0x715018a6` - -::: - -```solidity -function renounceOwnership() external nonpayable; -``` - -Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. - -
- -### revokeOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#revokeoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `revokeOperator(address,bytes32,bool,bytes)` -- Function selector: `0xdb8c9663` - -::: - -```solidity -function revokeOperator( - address operator, - bytes32 tokenId, - bool notify, - bytes operatorNotificationData -) external nonpayable; -``` - -Remove access of `operator` for a given `tokenId`, disallowing it to transfer `tokenId` on behalf of its owner. See also [`isOperatorFor`](#isoperatorfor). - -#### Parameters - -| Name | Type | Description | -| -------------------------- | :-------: | -------------------------------------------------------- | -| `operator` | `address` | The address to revoke as an operator. | -| `tokenId` | `bytes32` | The tokenId `operator` is revoked from operating on. | -| `notify` | `bool` | Boolean indicating whether to notify the operator or not | -| `operatorNotificationData` | `bytes` | The data to notify the operator about via LSP1. | - -
- -### setData - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdata) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `setData(bytes32,bytes)` -- Function selector: `0x7f23690c` - -::: - -:::caution Warning - -**Note for developers:** despite the fact that this function is set as `payable`, if the function is not intended to receive value (= native tokens), **an additional check should be implemented to ensure that `msg.value` sent was equal to 0**. - -::: - -```solidity -function setData(bytes32 dataKey, bytes dataValue) external payable; -``` - -_Setting the following data key value pair in the ERC725Y storage. Data key: `dataKey`, data value: `dataValue`._ - -Sets a single bytes value `dataValue` in the ERC725Y storage for a specific data key `dataKey`. The function is marked as payable to enable flexibility on child contracts. For instance to implement a fee mechanism for setting specific data. - -
- -**Requirements:** - -- SHOULD only be callable by the [`owner`](#owner). - -
- -
- -**Emitted events:** - -- [`DataChanged`](#datachanged) event. - -
- -#### Parameters - -| Name | Type | Description | -| ----------- | :-------: | ------------------------------------------ | -| `dataKey` | `bytes32` | The data key for which to set a new value. | -| `dataValue` | `bytes` | The new bytes value to set. | - -
- -### setDataBatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `setDataBatch(bytes32[],bytes[])` -- Function selector: `0x97902421` - -::: - -:::caution Warning - -**Note for developers:** despite the fact that this function is set as `payable`, if the function is not intended to receive value (= native tokens), **an additional check should be implemented to ensure that `msg.value` sent was equal to 0**. - -::: - -```solidity -function setDataBatch(bytes32[] dataKeys, bytes[] dataValues) external payable; -``` - -_Setting the following data key value pairs in the ERC725Y storage. Data keys: `dataKeys`, data values: `dataValues`._ - -Batch data setting function that behaves the same as [`setData`](#setdata) but allowing to set multiple data key/value pairs in the ERC725Y storage in the same transaction. - -
- -**Requirements:** - -- SHOULD only be callable by the [`owner`](#owner) of the contract. - -
- -
- -**Emitted events:** - -- [`DataChanged`](#datachanged) event **for each data key/value pair set**. - -
- -#### Parameters - -| Name | Type | Description | -| ------------ | :---------: | ---------------------------------------------------- | -| `dataKeys` | `bytes32[]` | An array of data keys to set bytes values for. | -| `dataValues` | `bytes[]` | An array of bytes values to set for each `dataKeys`. | - -
- -### setDataBatchForTokenIds - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` -- Function selector: `0xbe9f0e6f` - -::: - -```solidity -function setDataBatchForTokenIds( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues -) external nonpayable; -``` - -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ - -#### Parameters - -| Name | Type | Description | -| ------------ | :---------: | ----------------------------------------------------- | -| `tokenIds` | `bytes32[]` | An array of token IDs. | -| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | -| `dataValues` | `bytes[]` | An array of values to set for the given data keys. | - -
- -### setDataForTokenId - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` -- Function selector: `0xd6c1407c` - -::: - -```solidity -function setDataForTokenId( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue -) external nonpayable; -``` - -_Sets data for a specific `tokenId` and `dataKey`._ - -#### Parameters - -| Name | Type | Description | -| ----------- | :-------: | ---------------------------------------- | -| `tokenId` | `bytes32` | The unique identifier for a token. | -| `dataKey` | `bytes32` | The key for the data to set. | -| `dataValue` | `bytes` | The value to set for the given data key. | - -
- -### supportsInterface - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#supportsinterface) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `supportsInterface(bytes4)` -- Function selector: `0x01ffc9a7` - -::: - -```solidity -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 section] to learn more about how these ids are created. This function call must use less than 30 000 gas. - -#### Parameters - -| Name | Type | Description | -| ------------- | :------: | ----------- | -| `interfaceId` | `bytes4` | - | - -#### Returns - -| Name | Type | Description | -| ---- | :----: | ----------- | -| `0` | `bool` | - | - -
- -### tokenIdsOf - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenidsof) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `tokenIdsOf(address)` -- Function selector: `0xa3b261f2` - -::: - -```solidity -function tokenIdsOf(address tokenOwner) external view returns (bytes32[]); -``` - -Returns the list of token IDs that the `tokenOwner` address owns. - -#### Parameters - -| Name | Type | Description | -| ------------ | :-------: | ---------------------------------------------------------- | -| `tokenOwner` | `address` | The address that we want to get the list of token IDs for. | - -#### Returns - -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------- | -| `0` | `bytes32[]` | An array of `bytes32[] tokenIds` owned by `tokenOwner`. | - -
- -### tokenOwnerOf - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenownerof) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `tokenOwnerOf(bytes32)` -- Function selector: `0x217b2270` - -::: - -```solidity -function tokenOwnerOf(bytes32 tokenId) external view returns (address); -``` - -Returns the list of `tokenIds` for the `tokenOwner` address. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------------- | -| `tokenId` | `bytes32` | tokenOwner The address to query owned tokens | - -#### Returns - -| Name | Type | Description | -| ---- | :-------: | ----------------------------------------- | -| `0` | `address` | The owner address of the given `tokenId`. | - -
- -### totalSupply - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#totalsupply) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `totalSupply()` -- Function selector: `0x18160ddd` - -::: - -```solidity -function totalSupply() external view returns (uint256); -``` - -Returns the number of existing tokens that have been minted in this contract. - -#### Returns - -| Name | Type | Description | -| ---- | :-------: | ------------------------------ | -| `0` | `uint256` | The number of existing tokens. | - -
- -### transfer - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `transfer(address,address,bytes32,bool,bytes)` -- Function selector: `0x511b6952` - -::: - -```solidity -function transfer( - address from, - address to, - bytes32 tokenId, - bool force, - bytes data -) external nonpayable; -``` - -Transfer a given `tokenId` token from the `from` address to the `to` address. If operators are set for a specific `tokenId`, all the operators are revoked after the tokenId have been transferred. The `force` parameter MUST be set to `true` when transferring tokens to Externally Owned Accounts (EOAs) or contracts that do not implement the LSP1 standard. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `from` | `address` | The address that owns the given `tokenId`. | -| `to` | `address` | The address that will receive the `tokenId`. | -| `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | -| `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. | - -
- -### transferBatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferbatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `transferBatch(address[],address[],bytes32[],bool[],bytes[])` -- Function selector: `0x7e87632c` - -::: - -```solidity -function transferBatch( - address[] from, - address[] to, - bytes32[] tokenId, - bool[] force, - bytes[] data -) external nonpayable; -``` - -Transfers multiple tokens at once based on the arrays of `from`, `to` and `tokenId`. If any transfer fails, the whole call will revert. - -#### Parameters - -| Name | Type | Description | -| --------- | :---------: | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `from` | `address[]` | An array of sending addresses. | -| `to` | `address[]` | An array of recipient addresses. | -| `tokenId` | `bytes32[]` | An array of token IDs to transfer. | -| `force` | `bool[]` | When set to `true`, `to` may be any address. When set to `false`, `to` must be a contract that supports the LSP1 standard and not revert. | -| `data` | `bytes[]` | Any additional data the caller wants included in the emitted event, and sent in the hooks to the `from` and `to` addresses. | - -
- -### transferOwnership - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferownership) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Function signature: `transferOwnership(address)` -- Function selector: `0xf2fde38b` - -::: - -```solidity -function transferOwnership(address newOwner) external nonpayable; -``` - -Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ----------- | -| `newOwner` | `address` | - | - -
- -## Internal Methods - -Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs. - -Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities. - -### \_checkOwner - -```solidity -function _checkOwner() internal view; -``` - -Throws if the sender is not the owner. - -
- -### \_setOwner - -```solidity -function _setOwner(address newOwner) internal nonpayable; -``` - -Changes the owner if `newOwner` and oldOwner are different -This pattern is useful in inheritance. - -
- -### \_getData - -```solidity -function _getData(bytes32 dataKey) internal view returns (bytes dataValue); -``` - -Read the value stored under a specific `dataKey` inside the underlying ERC725Y storage, -represented as a mapping of `bytes32` data keys mapped to their `bytes` data values. - -```solidity -mapping(bytes32 => bytes) _store -``` - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ----------------------------------------------------------------------- | -| `dataKey` | `bytes32` | A bytes32 data key to read the associated `bytes` value from the store. | - -#### Returns - -| Name | Type | Description | -| ----------- | :-----: | ----------------------------------------------------------------------------- | -| `dataValue` | `bytes` | The `bytes` value associated with the given `dataKey` in the ERC725Y storage. | - -
- -### \_setData - -```solidity -function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; -``` - -The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed -once the identifiable digital asset contract has been deployed. - -
- -### \_isOperatorOrOwner - -```solidity -function _isOperatorOrOwner( - address caller, - bytes32 tokenId -) internal view returns (bool); -``` - -verifies if the `caller` is operator or owner for the `tokenId` - -#### Returns - -| Name | Type | Description | -| ---- | :----: | -------------------------------------------- | -| `0` | `bool` | true if `caller` is either operator or owner | - -
- -### \_revokeOperator - -```solidity -function _revokeOperator( - address operator, - address tokenOwner, - bytes32 tokenId, - bool notified, - bytes operatorNotificationData -) internal nonpayable; -``` - -removes `operator` from the list of operators for the `tokenId` - -
- -### \_clearOperators - -```solidity -function _clearOperators( - address tokenOwner, - bytes32 tokenId -) internal nonpayable; -``` - -revoke all the current operators for a specific `tokenId` token which belongs to `tokenOwner`. - -#### Parameters - -| Name | Type | Description | -| ------------ | :-------: | ------------------------------------------------- | -| `tokenOwner` | `address` | The address that is the owner of the `tokenId`. | -| `tokenId` | `bytes32` | The token to remove the associated operators for. | - -
- -### \_exists - -```solidity -function _exists(bytes32 tokenId) internal view returns (bool); -``` - -Returns whether `tokenId` exists. -Tokens start existing when they are minted ([`_mint`](#_mint)), and stop existing when they are burned ([`_burn`](#_burn)). - -
- -### \_existsOrError - -```solidity -function _existsOrError(bytes32 tokenId) internal view; -``` - -When `tokenId` does not exist then revert with an error. - -
- -### \_mint - -:::info - -Any logic in the: - -- [`_beforeTokenTransfer`](#_beforetokentransfer) function will run before updating the balances and ownership of `tokenId`s. - -- [`_afterTokenTransfer`](#_aftertokentransfer) function will run after updating the balances and ownership of `tokenId`s, **but before notifying the recipient via LSP1**. - -::: - -```solidity -function _mint( - address to, - bytes32 tokenId, - bool force, - bytes data -) internal nonpayable; -``` - -Create `tokenId` by minting it and transfers it to `to`. - -
- -**Emitted events:** - -- [`Transfer`](#transfer) event with `address(0)` as `from` address. - -
- -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------------------------------------------------------------------------------------------- | -| `to` | `address` | @param tokenId The token ID to create (= mint). | -| `tokenId` | `bytes32` | The token ID to create (= mint). | -| `force` | `bool` | When set to `true`, `to` may be any address. When set to `false`, `to` must be a contract that supports the LSP1 standard. | -| `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hook of the `to` address. | - -
- -### \_burn - -:::info - -Any logic in the: - -- [`_beforeTokenTransfer`](#_beforetokentransfer) function will run before updating the balances and ownership of `tokenId`s. - -- [`_afterTokenTransfer`](#_aftertokentransfer) function will run after updating the balances and ownership of `tokenId`s, **but before notifying the sender via LSP1**. - -::: - -:::tip Hint - -In dApps, you can know which addresses are burning tokens by listening for the `Transfer` event and filter with the zero address as `to`. - -::: - -```solidity -function _burn(bytes32 tokenId, bytes data) internal nonpayable; -``` - -Burn a specific `tokenId`, removing the `tokenId` from the [`tokenIdsOf`](#tokenidsof) the caller and decreasing its [`balanceOf`](#balanceof) by -1. -This will also clear all the operators allowed to transfer the `tokenId`. -The owner of the `tokenId` will be notified about the `tokenId` being transferred through its LSP1 [`universalReceiver`](#universalreceiver) -function, if it is a contract that supports the LSP1 interface. Its [`universalReceiver`](#universalreceiver) function will receive -all the parameters in the calldata packed encoded. - -
- -**Emitted events:** - -- [`Transfer`](#transfer) event with `address(0)` as the `to` address. - -
- -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | --------------------------------------------------------------------------------------------------------------------------- | -| `tokenId` | `bytes32` | The token to burn. | -| `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the LSP1 hook on the token owner's address. | - -
- -### \_transfer - -:::info - -Any logic in the: - -- [`_beforeTokenTransfer`](#_beforetokentransfer) function will run before updating the balances and ownership of `tokenId`s. - -- [`_afterTokenTransfer`](#_aftertokentransfer) function will run after updating the balances and ownership of `tokenId`s, **but before notifying the sender/recipient via LSP1**. - -::: - -:::danger - -This internal function does not check if the sender is authorized or not to operate on the `tokenId`. - -::: - -```solidity -function _transfer( - address from, - address to, - bytes32 tokenId, - bool force, - bytes data -) internal nonpayable; -``` - -Change the owner of the `tokenId` from `from` to `to`. -Both the sender and recipient will be notified of the `tokenId` being transferred through their LSP1 [`universalReceiver`](#universalreceiver) -function, if they are contracts that support the LSP1 interface. Their `universalReceiver` function will receive -all the parameters in the calldata packed encoded. - -
- -**Emitted events:** - -- [`Transfer`](#transfer) event. - -
- -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------------------------------------------------------------------------------------------- | -| `from` | `address` | The sender address. | -| `to` | `address` | @param tokenId The token to transfer. | -| `tokenId` | `bytes32` | The token to transfer. | -| `force` | `bool` | When set to `true`, `to` may be any address. When set to `false`, `to` must be a contract that supports the LSP1 standard. | -| `data` | `bytes` | Additional data the caller wants included in the emitted event, and sent in the hooks to `from` and `to` addresses. | - -
- -### \_setDataForTokenId - -```solidity -function _setDataForTokenId( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue -) internal nonpayable; -``` - -Sets data for a specific `tokenId` and `dataKey` in the ERC725Y storage -The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated - -
- -**Emitted events:** - -- [`TokenIdDataChanged`](#tokeniddatachanged) event. - -
- -#### Parameters - -| Name | Type | Description | -| ----------- | :-------: | ---------------------------------------- | -| `tokenId` | `bytes32` | The unique identifier for a token. | -| `dataKey` | `bytes32` | The key for the data to set. | -| `dataValue` | `bytes` | The value to set for the given data key. | - -
- -### \_getDataForTokenId - -```solidity -function _getDataForTokenId( - bytes32 tokenId, - bytes32 dataKey -) internal view returns (bytes dataValues); -``` - -Retrieves data for a specific `tokenId` and `dataKey` from the ERC725Y storage -The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ---------------------------------- | -| `tokenId` | `bytes32` | The unique identifier for a token. | -| `dataKey` | `bytes32` | The key for the data to retrieve. | - -#### Returns - -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | - -
- -### \_beforeTokenTransfer - -```solidity -function _beforeTokenTransfer( - address from, - address to, - bytes32 tokenId, - bytes data -) internal nonpayable; -``` - -Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `from` | `address` | The sender address | -| `to` | `address` | @param tokenId The tokenId to transfer | -| `tokenId` | `bytes32` | The tokenId to transfer | -| `data` | `bytes` | The data sent alongside the transfer | - -
- -### \_afterTokenTransfer - -```solidity -function _afterTokenTransfer( - address from, - address to, - bytes32 tokenId, - bytes data -) internal nonpayable; -``` - -Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `from` | `address` | The sender address | -| `to` | `address` | @param tokenId The tokenId to transfer | -| `tokenId` | `bytes32` | The tokenId to transfer | -| `data` | `bytes` | The data sent alongside the transfer | - -
- -### \_notifyTokenOperator - -```solidity -function _notifyTokenOperator( - address operator, - bytes lsp1Data -) internal nonpayable; -``` - -Attempt to notify the operator `operator` about the `tokenId` being authorized. -This is done by calling its [`universalReceiver`](#universalreceiver) function with the `_TYPEID_LSP8_TOKENOPERATOR` as typeId, if `operator` is a contract that supports the LSP1 interface. -If `operator` is an EOA or a contract that does not support the LSP1 interface, nothing will happen and no notification will be sent. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ------------------------------------------------------------------------------ | -| `operator` | `address` | The address to call the [`universalReceiver`](#universalreceiver) function on. | -| `lsp1Data` | `bytes` | the data to be sent to the `operator` address in the `universalReceiver` call. | - -
- -### \_notifyTokenSender - -```solidity -function _notifyTokenSender(address from, bytes lsp1Data) internal nonpayable; -``` - -Attempt to notify the token sender `from` about the `tokenId` being transferred. -This is done by calling its [`universalReceiver`](#universalreceiver) function with the `_TYPEID_LSP8_TOKENSSENDER` as typeId, if `from` is a contract that supports the LSP1 interface. -If `from` is an EOA or a contract that does not support the LSP1 interface, nothing will happen and no notification will be sent. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ------------------------------------------------------------------------------ | -| `from` | `address` | The address to call the [`universalReceiver`](#universalreceiver) function on. | -| `lsp1Data` | `bytes` | the data to be sent to the `from` address in the `universalReceiver` call. | - -
- -### \_notifyTokenReceiver - -```solidity -function _notifyTokenReceiver( - address to, - bool force, - bytes lsp1Data -) internal nonpayable; -``` - -Attempt to notify the token receiver `to` about the `tokenId` being received. -This is done by calling its [`universalReceiver`](#universalreceiver) function with the `_TYPEID_LSP8_TOKENSRECIPIENT` as typeId, if `to` is a contract that supports the LSP1 interface. -If `to` is is an EOA or a contract that does not support the LSP1 interface, the behaviour will depend on the `force` boolean flag. - -- if `force` is set to `true`, nothing will happen and no notification will be sent. - -- if `force` is set to `false, the transaction will revert. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | --------------------------------------------------------------------------------------------------- | -| `to` | `address` | The address to call the [`universalReceiver`](#universalreceiver) function on. | -| `force` | `bool` | A boolean that describe if transfer to a `to` address that does not support LSP1 is allowed or not. | -| `lsp1Data` | `bytes` | The data to be sent to the `to` address in the `universalReceiver(...)` call. | - -
- -### \_supportsInterfaceInERC165Extension - -```solidity -function _supportsInterfaceInERC165Extension( - bytes4 interfaceId -) internal view returns (bool); -``` - -Returns whether the interfaceId being checked is supported in the extension of the -[`supportsInterface`](#supportsinterface) selector. -To be used by extendable contracts wishing to extend the ERC165 interfaceIds originally -supported by reading whether the interfaceId queried is supported in the `supportsInterface` -extension if the extension is set, if not it returns false. - -
- -### \_getExtensionAndForwardValue - -```solidity -function _getExtensionAndForwardValue( - bytes4 functionSelector -) internal view returns (address, bool); -``` - -Returns the extension address stored under the following data key: - -- [`_LSP17_EXTENSION_PREFIX`](#_lsp17_extension_prefix) + `` (Check [LSP2-ERC725YJSONSchema] for encoding the data key). - -- If no extension is stored, returns the address(0). - -
- -### \_fallbackLSP17Extendable - -:::info - -The LSP8 Token contract should not hold any native tokens. Any native tokens received by the contract -will be forwarded to the extension address mapped to the selector from `msg.sig`. - -::: - -```solidity -function _fallbackLSP17Extendable( - bytes callData -) internal nonpayable returns (bytes); -``` - -Forwards the call with the received value to an extension mapped to a function selector. -Calls [`_getExtensionAndForwardValue`](#_getextensionandforwardvalue) to get the address of the extension mapped to the function selector being -called on the account. If there is no extension, the address(0) will be returned. -We will always forward the value to the extension, as the LSP8 contract is not supposed to hold any native tokens. -Reverts if there is no extension for the function being called. -If there is an extension for the function selector being called, it calls the extension with the -CALL opcode, passing the [`msg.data`](#msg.data) appended with the 20 bytes of the [`msg.sender`](#msg.sender) and -32 bytes of the [`msg.value`](#msg.value) - -
- -## Events - -### DataChanged - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#datachanged) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `DataChanged(bytes32,bytes)` -- Event topic hash: `0xece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2` - -::: - -```solidity -event DataChanged(bytes32 indexed dataKey, bytes dataValue); -``` - -_The following data key/value pair has been changed in the ERC725Y storage: Data key: `dataKey`, data value: `dataValue`._ - -Emitted when data at a specific `dataKey` was changed to a new value `dataValue`. - -#### Parameters - -| Name | Type | Description | -| ----------------------- | :-------: | -------------------------------------------- | -| `dataKey` **`indexed`** | `bytes32` | The data key for which a bytes value is set. | -| `dataValue` | `bytes` | The value to set for the given data key. | - -
- -### OperatorAuthorizationChanged - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorauthorizationchanged) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `OperatorAuthorizationChanged(address,address,bytes32,bytes)` -- Event topic hash: `0x1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215` - -::: - -```solidity -event OperatorAuthorizationChanged( - address indexed operator, - address indexed tokenOwner, - bytes32 indexed tokenId, - bytes operatorNotificationData -); -``` - -Emitted when `tokenOwner` enables `operator` to transfer or burn the `tokenId`. - -#### Parameters - -| Name | Type | Description | -| -------------------------- | :-------: | -------------------------------------------------------------------- | -| `operator` **`indexed`** | `address` | The address authorized as an operator. | -| `tokenOwner` **`indexed`** | `address` | The owner of the `tokenId`. | -| `tokenId` **`indexed`** | `bytes32` | The tokenId `operator` address has access on behalf of `tokenOwner`. | -| `operatorNotificationData` | `bytes` | The data to notify the operator about via LSP1. | - -
- -### OperatorRevoked - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorrevoked) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `OperatorRevoked(address,address,bytes32,bool,bytes)` -- Event topic hash: `0xc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c` - -::: - -```solidity -event OperatorRevoked( - address indexed operator, - address indexed tokenOwner, - bytes32 indexed tokenId, - bool notified, - bytes operatorNotificationData -); -``` - -Emitted when `tokenOwner` disables `operator` to transfer or burn `tokenId` on its behalf. - -#### Parameters - -| Name | Type | Description | -| -------------------------- | :-------: | ---------------------------------------------------------------------------------- | -| `operator` **`indexed`** | `address` | The address revoked from the operator array ([`getOperatorsOf`](#getoperatorsof)). | -| `tokenOwner` **`indexed`** | `address` | The owner of the `tokenId`. | -| `tokenId` **`indexed`** | `bytes32` | The tokenId `operator` is revoked from operating on. | -| `notified` | `bool` | Bool indicating whether the operator has been notified or not | -| `operatorNotificationData` | `bytes` | The data to notify the operator about via LSP1. | - -
- -### OwnershipTransferred - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownershiptransferred) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `OwnershipTransferred(address,address)` -- Event topic hash: `0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0` - -::: - -```solidity -event OwnershipTransferred( - address indexed previousOwner, - address indexed newOwner -); -``` - -#### Parameters - -| Name | Type | Description | -| ----------------------------- | :-------: | ----------- | -| `previousOwner` **`indexed`** | `address` | - | -| `newOwner` **`indexed`** | `address` | - | - -
- -### TokenIdDataChanged - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokeniddatachanged) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `TokenIdDataChanged(bytes32,bytes32,bytes)` -- Event topic hash: `0xa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb` - -::: - -```solidity -event TokenIdDataChanged( - bytes32 indexed tokenId, - bytes32 indexed dataKey, - bytes dataValue -); -``` - -Emitted when setting data for `tokenId`. - -#### Parameters - -| Name | Type | Description | -| ----------------------- | :-------: | -------------------------------------------- | -| `tokenId` **`indexed`** | `bytes32` | The tokenId which data is set for. | -| `dataKey` **`indexed`** | `bytes32` | The data key for which a bytes value is set. | -| `dataValue` | `bytes` | The value to set for the given data key. | - -
- -### Transfer - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Event signature: `Transfer(address,address,address,bytes32,bool,bytes)` -- Event topic hash: `0xb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf` - -::: - -```solidity -event Transfer( - address operator, - address indexed from, - address indexed to, - bytes32 indexed tokenId, - bool force, - bytes data -); -``` - -Emitted when `tokenId` token is transferred from the `from` to the `to` address. - -#### Parameters - -| Name | Type | Description | -| ----------------------- | :-------: | ---------------------------------------------------------------------------------------------------------------------------------- | -| `operator` | `address` | The address of operator that sent the `tokenId` | -| `from` **`indexed`** | `address` | The previous owner of the `tokenId` | -| `to` **`indexed`** | `address` | The new owner of `tokenId` | -| `tokenId` **`indexed`** | `bytes32` | The tokenId that was transferred | -| `force` | `bool` | If the token transfer enforces the `to` recipient address to be a contract that implements the LSP1 standard or not. | -| `data` | `bytes` | Any additional data the caller included by the caller during the transfer, and sent in the hooks to the `from` and `to` addresses. | - -
- -## Errors - -### ERC725Y_DataKeysValuesEmptyArray - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvaluesemptyarray) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `ERC725Y_DataKeysValuesEmptyArray()` -- Error hash: `0x97da5f95` - -::: - -```solidity -error ERC725Y_DataKeysValuesEmptyArray(); -``` - -Reverts when one of the array parameter provided to [`setDataBatch`](#setdatabatch) function is an empty array. - -
- -### ERC725Y_DataKeysValuesLengthMismatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvalueslengthmismatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `ERC725Y_DataKeysValuesLengthMismatch()` -- Error hash: `0x3bcc8979` - -::: - -```solidity -error ERC725Y_DataKeysValuesLengthMismatch(); -``` - -Reverts when there is not the same number of elements in the `datakeys` and `dataValues` array parameters provided when calling the [`setDataBatch`](#setdatabatch) function. - -
- -### ERC725Y_MsgValueDisallowed - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_msgvaluedisallowed) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `ERC725Y_MsgValueDisallowed()` -- Error hash: `0xf36ba737` - -::: - -```solidity -error ERC725Y_MsgValueDisallowed(); -``` - -Reverts when sending value to the [`setData`](#setdata) or [`setDataBatch`](#setdatabatch) function. - -
- -### InvalidExtensionAddress - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidextensionaddress) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `InvalidExtensionAddress(bytes)` -- Error hash: `0x42bfe79f` - -::: - -```solidity -error InvalidExtensionAddress(bytes storedData); -``` - -reverts when the bytes retrieved from the LSP17 data key is not a valid address (not 20 bytes) - -#### Parameters - -| Name | Type | Description | -| ------------ | :-----: | ----------- | -| `storedData` | `bytes` | - | - -
- -### InvalidFunctionSelector - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidfunctionselector) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `InvalidFunctionSelector(bytes)` -- Error hash: `0xe5099ee3` - -::: - -```solidity -error InvalidFunctionSelector(bytes data); -``` - -reverts when the contract is called with a function selector not valid (less than 4 bytes of data) - -#### Parameters - -| Name | Type | Description | -| ------ | :-----: | ----------- | -| `data` | `bytes` | - | - -
- -### LSP4TokenNameNotEditable - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokennamenoteditable) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP4TokenNameNotEditable()` -- Error hash: `0x85c169bd` - -::: - -```solidity -error LSP4TokenNameNotEditable(); -``` - -Reverts when trying to edit the data key `LSP4TokenName` after the digital asset contract has been deployed / initialized. The `LSP4TokenName` data key is located inside the ERC725Y data key-value store of the digital asset contract. It can be set only once inside the constructor/initializer when the digital asset contract is being deployed / initialized. - -
- -### LSP4TokenSymbolNotEditable - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokensymbolnoteditable) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP4TokenSymbolNotEditable()` -- Error hash: `0x76755b38` - -::: - -```solidity -error LSP4TokenSymbolNotEditable(); -``` - -Reverts when trying to edit the data key `LSP4TokenSymbol` after the digital asset contract has been deployed / initialized. The `LSP4TokenSymbol` data key is located inside the ERC725Y data key-value store of the digital asset contract. It can be set only once inside the constructor/initializer when the digital asset contract is being deployed / initialized. - -
- -### LSP4TokenTypeNotEditable - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokentypenoteditable) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP4TokenTypeNotEditable()` -- Error hash: `0x4ef6d7fb` - -::: - -```solidity -error LSP4TokenTypeNotEditable(); -``` - -Reverts when trying to edit the data key `LSP4TokenType` after the digital asset contract has been deployed / initialized. The `LSP4TokenType` data key is located inside the ERC725Y data key-value store of the digital asset contract. It can be set only once inside the constructor / initializer when the digital asset contract is being deployed / initialized. - -
- -### LSP8BatchCallFailed - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8batchcallfailed) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8BatchCallFailed(uint256)` -- Error hash: `0x234eb819` - -::: - -```solidity -error LSP8BatchCallFailed(uint256 callIndex); -``` - -_Batch call failed._ - -Reverts when a batch call failed. - -#### Parameters - -| Name | Type | Description | -| ----------- | :-------: | ----------- | -| `callIndex` | `uint256` | - | - -
- -### LSP8CannotSendToAddressZero - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoaddresszero) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8CannotSendToAddressZero()` -- Error hash: `0x24ecef4d` - -::: - -```solidity -error LSP8CannotSendToAddressZero(); -``` - -Reverts when trying to send token to the zero address. - -
- -### LSP8CannotSendToSelf - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoself) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8CannotSendToSelf()` -- Error hash: `0x5d67d6c1` - -::: - -```solidity -error LSP8CannotSendToSelf(); -``` - -Reverts when specifying the same address for `from` and `to` in a token transfer. - -
- -### LSP8CannotUseAddressZeroAsOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotuseaddresszeroasoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8CannotUseAddressZeroAsOperator()` -- Error hash: `0x9577b8b3` - -::: - -```solidity -error LSP8CannotUseAddressZeroAsOperator(); -``` - -Reverts when trying to set the zero address as an operator. - -
- -### LSP8InvalidTransferBatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8invalidtransferbatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8InvalidTransferBatch()` -- Error hash: `0x93a83119` - -::: - -```solidity -error LSP8InvalidTransferBatch(); -``` - -Reverts when the parameters used for `transferBatch` have different lengths. - -
- -### LSP8NonExistentTokenId - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistenttokenid) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NonExistentTokenId(bytes32)` -- Error hash: `0xae8f9a36` - -::: - -```solidity -error LSP8NonExistentTokenId(bytes32 tokenId); -``` - -Reverts when `tokenId` has not been minted. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ----------- | -| `tokenId` | `bytes32` | - | - -
- -### LSP8NonExistingOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistingoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NonExistingOperator(address,bytes32)` -- Error hash: `0x4aa31a8c` - -::: - -```solidity -error LSP8NonExistingOperator(address operator, bytes32 tokenId); -``` - -Reverts when `operator` is not an operator for the `tokenId`. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ----------- | -| `operator` | `address` | - | -| `tokenId` | `bytes32` | - | - -
- -### LSP8NotTokenOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NotTokenOperator(bytes32,address)` -- Error hash: `0x1294d2a9` - -::: - -```solidity -error LSP8NotTokenOperator(bytes32 tokenId, address caller); -``` - -Reverts when `caller` is not an allowed operator for `tokenId`. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ----------- | -| `tokenId` | `bytes32` | - | -| `caller` | `address` | - | - -
- -### LSP8NotTokenOwner - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenowner) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NotTokenOwner(address,bytes32,address)` -- Error hash: `0x5b271ea2` - -::: - -```solidity -error LSP8NotTokenOwner(address tokenOwner, bytes32 tokenId, address caller); -``` - -Reverts when `caller` is not the `tokenOwner` of the `tokenId`. - -#### Parameters - -| Name | Type | Description | -| ------------ | :-------: | ----------- | -| `tokenOwner` | `address` | - | -| `tokenId` | `bytes32` | - | -| `caller` | `address` | - | - -
- -### LSP8NotifyTokenReceiverContractMissingLSP1Interface - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceivercontractmissinglsp1interface) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NotifyTokenReceiverContractMissingLSP1Interface(address)` -- Error hash: `0x4349776d` - -::: - -```solidity -error LSP8NotifyTokenReceiverContractMissingLSP1Interface( - address tokenReceiver -); -``` - -Reverts if the `tokenReceiver` does not implement LSP1 when minting or transferring tokens with `bool force` set as `false`. - -#### Parameters - -| Name | Type | Description | -| --------------- | :-------: | ----------- | -| `tokenReceiver` | `address` | - | - -
- -### LSP8NotifyTokenReceiverIsEOA - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceiveriseoa) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8NotifyTokenReceiverIsEOA(address)` -- Error hash: `0x03173137` - -::: - -```solidity -error LSP8NotifyTokenReceiverIsEOA(address tokenReceiver); -``` - -Reverts if the `tokenReceiver` is an EOA when minting or transferring tokens with `bool force` set as `false`. - -#### Parameters - -| Name | Type | Description | -| --------------- | :-------: | ----------- | -| `tokenReceiver` | `address` | - | - -
- -### LSP8OperatorAlreadyAuthorized - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8operatoralreadyauthorized) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8OperatorAlreadyAuthorized(address,bytes32)` -- Error hash: `0xa7626b68` - -::: - -```solidity -error LSP8OperatorAlreadyAuthorized(address operator, bytes32 tokenId); -``` - -Reverts when `operator` is already authorized for the `tokenId`. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ----------- | -| `operator` | `address` | - | -| `tokenId` | `bytes32` | - | - -
- -### LSP8TokenContractCannotHoldValue - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokencontractcannotholdvalue) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenContractCannotHoldValue()` -- Error hash: `0x61f49442` - -::: - -```solidity -error LSP8TokenContractCannotHoldValue(); -``` - -_LSP8 contract cannot receive native tokens._ - -Error occurs when sending native tokens to the LSP8 contract without sending any data. E.g. Sending value without passing a bytes4 function selector to call a LSP17 Extension. - -
- -### LSP8TokenIdAlreadyMinted - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidalreadyminted) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenIdAlreadyMinted(bytes32)` -- Error hash: `0x34c7b511` - -::: - -```solidity -error LSP8TokenIdAlreadyMinted(bytes32 tokenId); -``` - -Reverts when `tokenId` has already been minted. - -#### Parameters - -| Name | Type | Description | -| --------- | :-------: | ----------- | -| `tokenId` | `bytes32` | - | - -
- -### LSP8TokenIdFormatNotEditable - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenIdFormatNotEditable()` -- Error hash: `0x3664800a` - -::: - -```solidity -error LSP8TokenIdFormatNotEditable(); -``` - -Reverts when trying to edit the data key `LSP8TokenIdFormat` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdFormat` data key is located inside the ERC725Y Data key-value store of the identifiable digital asset contract. It can be set only once inside the constructor/initializer when the identifiable digital asset contract is being deployed. - -
- -### LSP8TokenIdsDataEmptyArray - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdataemptyarray) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenIdsDataEmptyArray()` -- Error hash: `0x80c98305` - -::: - -```solidity -error LSP8TokenIdsDataEmptyArray(); -``` - -Reverts when empty arrays is passed to the function - -
- -### LSP8TokenIdsDataLengthMismatch - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdatalengthmismatch) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenIdsDataLengthMismatch()` -- Error hash: `0x2fa71dfe` - -::: - -```solidity -error LSP8TokenIdsDataLengthMismatch(); -``` - -Reverts when the length of the token IDs data arrays is not equal - -
- -### LSP8TokenOwnerCannotBeOperator - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownercannotbeoperator) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenOwnerCannotBeOperator()` -- Error hash: `0x89fdad62` - -::: - -```solidity -error LSP8TokenOwnerCannotBeOperator(); -``` - -Reverts when trying to authorize or revoke the token's owner as an operator. - -
- -### LSP8TokenOwnerChanged - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownerchanged) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `LSP8TokenOwnerChanged(bytes32,address,address)` -- Error hash: `0x5a9c31d3` - -::: - -```solidity -error LSP8TokenOwnerChanged( - bytes32 tokenId, - address oldOwner, - address newOwner -); -``` - -Reverts when the token owner changed inside the [`_beforeTokenTransfer`](#_beforetokentransfer) hook. - -#### Parameters - -| Name | Type | Description | -| ---------- | :-------: | ----------- | -| `tokenId` | `bytes32` | - | -| `oldOwner` | `address` | - | -| `newOwner` | `address` | - | - -
- -### NoExtensionFoundForFunctionSelector - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#noextensionfoundforfunctionselector) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `NoExtensionFoundForFunctionSelector(bytes4)` -- Error hash: `0xbb370b2b` - -::: - -```solidity -error NoExtensionFoundForFunctionSelector(bytes4 functionSelector); -``` - -reverts when there is no extension for the function selector being called with - -#### Parameters - -| Name | Type | Description | -| ------------------ | :------: | ----------- | -| `functionSelector` | `bytes4` | - | - -
- -### OwnableCallerNotTheOwner - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecallernottheowner) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `OwnableCallerNotTheOwner(address)` -- Error hash: `0xbf1169c5` - -::: - -```solidity -error OwnableCallerNotTheOwner(address callerAddress); -``` - -Reverts when only the owner is allowed to call the function. - -#### Parameters - -| Name | Type | Description | -| --------------- | :-------: | ---------------------------------------- | -| `callerAddress` | `address` | The address that tried to make the call. | - -
- -### OwnableCannotSetZeroAddressAsOwner - -:::note References - -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecannotsetzeroaddressasowner) -- Solidity implementation: [`LSP8Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol) -- Error signature: `OwnableCannotSetZeroAddressAsOwner()` -- Error hash: `0x1ad8836c` - -::: - -```solidity -error OwnableCannotSetZeroAddressAsOwner(); -``` - -Reverts when trying to set `address(0)` as the contract owner when deploying the contract, initializing it or transferring ownership of the contract. - -
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md b/docs/contracts/lsp8/contracts/LSP8IdentifiableDigitalAsset.md similarity index 94% rename from docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md rename to docs/contracts/lsp8/contracts/LSP8IdentifiableDigitalAsset.md index 0dab5a052..075772fe0 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md +++ b/docs/contracts/lsp8/contracts/LSP8IdentifiableDigitalAsset.md @@ -10,7 +10,7 @@ ::: :::info Solidity implementation -[`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +[`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) ::: @@ -28,7 +28,7 @@ When marked as 'public', a method can be called both externally and internally, :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#fallback) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) ::: @@ -63,7 +63,7 @@ This function is executed when: :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#receive) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) ::: @@ -82,7 +82,7 @@ Reverts whenever someone tries to send native tokens to a LSP8 contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#authorizeoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `authorizeOperator(address,bytes32,bytes)` - Function selector: `0x86a10ddd` @@ -113,7 +113,7 @@ Allow an `operator` address to transfer or burn a specific `tokenId` on behalf o :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#balanceof) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `balanceOf(address)` - Function selector: `0x70a08231` @@ -144,7 +144,7 @@ Get the number of token IDs owned by `tokenOwner`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#batchcalls) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `batchCalls(bytes[])` - Function selector: `0x6963d438` @@ -183,7 +183,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdata) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `getData(bytes32)` - Function selector: `0x54f6127f` @@ -216,7 +216,7 @@ Get in the ERC725Y storage the bytes data stored at a specific data key `dataKey :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `getDataBatch(bytes32[])` - Function selector: `0xdedff9c6` @@ -251,7 +251,7 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` - Function selector: `0x1d26fce6` @@ -286,7 +286,7 @@ _Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `getDataForTokenId(bytes32,bytes32)` - Function selector: `0x16e023b3` @@ -321,7 +321,7 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `getOperatorsOf(bytes32)` - Function selector: `0x49a6078d` @@ -352,7 +352,7 @@ Returns all `operator` addresses that are allowed to transfer or burn a specific :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#isoperatorfor) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `isOperatorFor(address,bytes32)` - Function selector: `0x2a3654a4` @@ -387,7 +387,7 @@ Returns whether `operator` address is an operator for a given `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#owner) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `owner()` - Function selector: `0x8da5cb5b` @@ -412,7 +412,7 @@ Returns the address of the current owner. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#renounceownership) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `renounceOwnership()` - Function selector: `0x715018a6` @@ -431,7 +431,7 @@ Leaves the contract without owner. It will not be possible to call `onlyOwner` f :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#revokeoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `revokeOperator(address,bytes32,bool,bytes)` - Function selector: `0xdb8c9663` @@ -464,7 +464,7 @@ Remove access of `operator` for a given `tokenId`, disallowing it to transfer `t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdata) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `setData(bytes32,bytes)` - Function selector: `0x7f23690c` @@ -514,7 +514,7 @@ Sets a single bytes value `dataValue` in the ERC725Y storage for a specific data :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `setDataBatch(bytes32[],bytes[])` - Function selector: `0x97902421` @@ -564,7 +564,7 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` - Function selector: `0xbe9f0e6f` @@ -595,7 +595,7 @@ _Sets data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` - Function selector: `0xd6c1407c` @@ -626,7 +626,7 @@ _Sets data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#supportsinterface) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `supportsInterface(bytes4)` - Function selector: `0x01ffc9a7` @@ -657,7 +657,7 @@ Returns true if this contract implements the interface defined by `interfaceId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenidsof) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `tokenIdsOf(address)` - Function selector: `0xa3b261f2` @@ -688,7 +688,7 @@ Returns the list of token IDs that the `tokenOwner` address owns. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenownerof) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `tokenOwnerOf(bytes32)` - Function selector: `0x217b2270` @@ -719,7 +719,7 @@ Returns the list of `tokenIds` for the `tokenOwner` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#totalsupply) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `totalSupply()` - Function selector: `0x18160ddd` @@ -744,7 +744,7 @@ Returns the number of existing tokens that have been minted in this contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `transfer(address,address,bytes32,bool,bytes)` - Function selector: `0x511b6952` @@ -779,7 +779,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferbatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `transferBatch(address[],address[],bytes32[],bool[],bytes[])` - Function selector: `0x7e87632c` @@ -814,7 +814,7 @@ Transfers multiple tokens at once based on the arrays of `from`, `to` and `token :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferownership) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Function signature: `transferOwnership(address)` - Function selector: `0xf2fde38b` @@ -1357,7 +1357,7 @@ CALL opcode, passing the [`msg.data`](#msg.data) appended with the 20 bytes of t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#datachanged) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `DataChanged(bytes32,bytes)` - Event topic hash: `0xece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2` @@ -1385,7 +1385,7 @@ Emitted when data at a specific `dataKey` was changed to a new value `dataValue` :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorauthorizationchanged) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `OperatorAuthorizationChanged(address,address,bytes32,bytes)` - Event topic hash: `0x1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215` @@ -1418,7 +1418,7 @@ Emitted when `tokenOwner` enables `operator` to transfer or burn the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorrevoked) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `OperatorRevoked(address,address,bytes32,bool,bytes)` - Event topic hash: `0xc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c` @@ -1453,7 +1453,7 @@ Emitted when `tokenOwner` disables `operator` to transfer or burn `tokenId` on i :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownershiptransferred) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `OwnershipTransferred(address,address)` - Event topic hash: `0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0` @@ -1480,7 +1480,7 @@ event OwnershipTransferred( :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokeniddatachanged) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `TokenIdDataChanged(bytes32,bytes32,bytes)` - Event topic hash: `0xa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb` @@ -1511,7 +1511,7 @@ Emitted when setting data for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Event signature: `Transfer(address,address,address,bytes32,bool,bytes)` - Event topic hash: `0xb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf` @@ -1550,7 +1550,7 @@ Emitted when `tokenId` token is transferred from the `from` to the `to` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvaluesemptyarray) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `ERC725Y_DataKeysValuesEmptyArray()` - Error hash: `0x97da5f95` @@ -1569,7 +1569,7 @@ Reverts when one of the array parameter provided to [`setDataBatch`](#setdatabat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvalueslengthmismatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `ERC725Y_DataKeysValuesLengthMismatch()` - Error hash: `0x3bcc8979` @@ -1588,7 +1588,7 @@ Reverts when there is not the same number of elements in the `datakeys` and `dat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_msgvaluedisallowed) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `ERC725Y_MsgValueDisallowed()` - Error hash: `0xf36ba737` @@ -1607,7 +1607,7 @@ Reverts when sending value to the [`setData`](#setdata) or [`setDataBatch`](#set :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidextensionaddress) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `InvalidExtensionAddress(bytes)` - Error hash: `0x42bfe79f` @@ -1632,7 +1632,7 @@ reverts when the bytes retrieved from the LSP17 data key is not a valid address :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidfunctionselector) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `InvalidFunctionSelector(bytes)` - Error hash: `0xe5099ee3` @@ -1657,7 +1657,7 @@ reverts when the contract is called with a function selector not valid (less tha :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokennamenoteditable) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP4TokenNameNotEditable()` - Error hash: `0x85c169bd` @@ -1676,7 +1676,7 @@ Reverts when trying to edit the data key `LSP4TokenName` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokensymbolnoteditable) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP4TokenSymbolNotEditable()` - Error hash: `0x76755b38` @@ -1695,7 +1695,7 @@ Reverts when trying to edit the data key `LSP4TokenSymbol` after the digital ass :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokentypenoteditable) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP4TokenTypeNotEditable()` - Error hash: `0x4ef6d7fb` @@ -1714,7 +1714,7 @@ Reverts when trying to edit the data key `LSP4TokenType` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8batchcallfailed) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8BatchCallFailed(uint256)` - Error hash: `0x234eb819` @@ -1741,7 +1741,7 @@ Reverts when a batch call failed. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoaddresszero) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8CannotSendToAddressZero()` - Error hash: `0x24ecef4d` @@ -1760,7 +1760,7 @@ Reverts when trying to send token to the zero address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoself) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8CannotSendToSelf()` - Error hash: `0x5d67d6c1` @@ -1779,7 +1779,7 @@ Reverts when specifying the same address for `from` and `to` in a token transfer :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotuseaddresszeroasoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8CannotUseAddressZeroAsOperator()` - Error hash: `0x9577b8b3` @@ -1798,7 +1798,7 @@ Reverts when trying to set the zero address as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8invalidtransferbatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8InvalidTransferBatch()` - Error hash: `0x93a83119` @@ -1817,7 +1817,7 @@ Reverts when the parameters used for `transferBatch` have different lengths. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistenttokenid) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NonExistentTokenId(bytes32)` - Error hash: `0xae8f9a36` @@ -1842,7 +1842,7 @@ Reverts when `tokenId` has not been minted. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistingoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NonExistingOperator(address,bytes32)` - Error hash: `0x4aa31a8c` @@ -1868,7 +1868,7 @@ Reverts when `operator` is not an operator for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NotTokenOperator(bytes32,address)` - Error hash: `0x1294d2a9` @@ -1894,7 +1894,7 @@ Reverts when `caller` is not an allowed operator for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenowner) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NotTokenOwner(address,bytes32,address)` - Error hash: `0x5b271ea2` @@ -1921,7 +1921,7 @@ Reverts when `caller` is not the `tokenOwner` of the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceivercontractmissinglsp1interface) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NotifyTokenReceiverContractMissingLSP1Interface(address)` - Error hash: `0x4349776d` @@ -1948,7 +1948,7 @@ Reverts if the `tokenReceiver` does not implement LSP1 when minting or transferr :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceiveriseoa) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8NotifyTokenReceiverIsEOA(address)` - Error hash: `0x03173137` @@ -1973,7 +1973,7 @@ Reverts if the `tokenReceiver` is an EOA when minting or transferring tokens wit :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8operatoralreadyauthorized) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8OperatorAlreadyAuthorized(address,bytes32)` - Error hash: `0xa7626b68` @@ -1999,7 +1999,7 @@ Reverts when `operator` is already authorized for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokencontractcannotholdvalue) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenContractCannotHoldValue()` - Error hash: `0x61f49442` @@ -2020,7 +2020,7 @@ Error occurs when sending native tokens to the LSP8 contract without sending any :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenIdFormatNotEditable()` - Error hash: `0x3664800a` @@ -2039,7 +2039,7 @@ Reverts when trying to edit the data key `LSP8TokenIdFormat` after the identifia :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdataemptyarray) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenIdsDataEmptyArray()` - Error hash: `0x80c98305` @@ -2058,7 +2058,7 @@ Reverts when empty arrays is passed to the function :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdatalengthmismatch) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenIdsDataLengthMismatch()` - Error hash: `0x2fa71dfe` @@ -2077,7 +2077,7 @@ Reverts when the length of the token IDs data arrays is not equal :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownercannotbeoperator) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenOwnerCannotBeOperator()` - Error hash: `0x89fdad62` @@ -2096,7 +2096,7 @@ Reverts when trying to authorize or revoke the token's owner as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownerchanged) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `LSP8TokenOwnerChanged(bytes32,address,address)` - Error hash: `0x5a9c31d3` @@ -2127,7 +2127,7 @@ Reverts when the token owner changed inside the [`_beforeTokenTransfer`](#_befor :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#noextensionfoundforfunctionselector) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `NoExtensionFoundForFunctionSelector(bytes4)` - Error hash: `0xbb370b2b` @@ -2152,7 +2152,7 @@ reverts when there is no extension for the function selector being called with :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecallernottheowner) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `OwnableCallerNotTheOwner(address)` - Error hash: `0xbf1169c5` @@ -2177,7 +2177,7 @@ Reverts when only the owner is allowed to call the function. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecannotsetzeroaddressasowner) -- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol) +- Solidity implementation: [`LSP8IdentifiableDigitalAsset.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/LSP8IdentifiableDigitalAsset.sol) - Error signature: `OwnableCannotSetZeroAddressAsOwner()` - Error hash: `0x1ad8836c` diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md b/docs/contracts/lsp8/contracts/extensions/LSP8Burnable.md similarity index 91% rename from docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md rename to docs/contracts/lsp8/contracts/extensions/LSP8Burnable.md index 842b4ef3e..45aff9779 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md +++ b/docs/contracts/lsp8/contracts/extensions/LSP8Burnable.md @@ -10,7 +10,7 @@ ::: :::info Solidity implementation -[`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +[`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) ::: @@ -26,7 +26,7 @@ When marked as 'public', a method can be called both externally and internally, :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#fallback) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) ::: @@ -61,7 +61,7 @@ This function is executed when: :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#receive) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) ::: @@ -80,7 +80,7 @@ Reverts whenever someone tries to send native tokens to a LSP8 contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#authorizeoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `authorizeOperator(address,bytes32,bytes)` - Function selector: `0x86a10ddd` @@ -111,7 +111,7 @@ Allow an `operator` address to transfer or burn a specific `tokenId` on behalf o :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#balanceof) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `balanceOf(address)` - Function selector: `0x70a08231` @@ -142,7 +142,7 @@ Get the number of token IDs owned by `tokenOwner`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#batchcalls) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `batchCalls(bytes[])` - Function selector: `0x6963d438` @@ -181,7 +181,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#burn) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `burn(bytes32,bytes)` - Function selector: `0x6c79b70b` @@ -209,7 +209,7 @@ See internal [`_burn`](#_burn) function for details. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdata) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `getData(bytes32)` - Function selector: `0x54f6127f` @@ -242,7 +242,7 @@ Get in the ERC725Y storage the bytes data stored at a specific data key `dataKey :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `getDataBatch(bytes32[])` - Function selector: `0xdedff9c6` @@ -277,7 +277,7 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` - Function selector: `0x1d26fce6` @@ -312,7 +312,7 @@ _Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `getDataForTokenId(bytes32,bytes32)` - Function selector: `0x16e023b3` @@ -347,7 +347,7 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `getOperatorsOf(bytes32)` - Function selector: `0x49a6078d` @@ -378,7 +378,7 @@ Returns all `operator` addresses that are allowed to transfer or burn a specific :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#isoperatorfor) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `isOperatorFor(address,bytes32)` - Function selector: `0x2a3654a4` @@ -413,7 +413,7 @@ Returns whether `operator` address is an operator for a given `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#owner) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `owner()` - Function selector: `0x8da5cb5b` @@ -438,7 +438,7 @@ Returns the address of the current owner. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#renounceownership) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `renounceOwnership()` - Function selector: `0x715018a6` @@ -457,7 +457,7 @@ Leaves the contract without owner. It will not be possible to call `onlyOwner` f :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#revokeoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `revokeOperator(address,bytes32,bool,bytes)` - Function selector: `0xdb8c9663` @@ -490,7 +490,7 @@ Remove access of `operator` for a given `tokenId`, disallowing it to transfer `t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdata) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `setData(bytes32,bytes)` - Function selector: `0x7f23690c` @@ -540,7 +540,7 @@ Sets a single bytes value `dataValue` in the ERC725Y storage for a specific data :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `setDataBatch(bytes32[],bytes[])` - Function selector: `0x97902421` @@ -590,7 +590,7 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` - Function selector: `0xbe9f0e6f` @@ -621,7 +621,7 @@ _Sets data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` - Function selector: `0xd6c1407c` @@ -652,7 +652,7 @@ _Sets data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#supportsinterface) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `supportsInterface(bytes4)` - Function selector: `0x01ffc9a7` @@ -683,7 +683,7 @@ Returns true if this contract implements the interface defined by `interfaceId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenidsof) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `tokenIdsOf(address)` - Function selector: `0xa3b261f2` @@ -714,7 +714,7 @@ Returns the list of token IDs that the `tokenOwner` address owns. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenownerof) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `tokenOwnerOf(bytes32)` - Function selector: `0x217b2270` @@ -745,7 +745,7 @@ Returns the list of `tokenIds` for the `tokenOwner` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#totalsupply) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `totalSupply()` - Function selector: `0x18160ddd` @@ -770,7 +770,7 @@ Returns the number of existing tokens that have been minted in this contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `transfer(address,address,bytes32,bool,bytes)` - Function selector: `0x511b6952` @@ -805,7 +805,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferbatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `transferBatch(address[],address[],bytes32[],bool[],bytes[])` - Function selector: `0x7e87632c` @@ -840,7 +840,7 @@ Transfers multiple tokens at once based on the arrays of `from`, `to` and `token :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferownership) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Function signature: `transferOwnership(address)` - Function selector: `0xf2fde38b` @@ -1383,7 +1383,7 @@ CALL opcode, passing the [`msg.data`](#msg.data) appended with the 20 bytes of t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#datachanged) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `DataChanged(bytes32,bytes)` - Event topic hash: `0xece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2` @@ -1411,7 +1411,7 @@ Emitted when data at a specific `dataKey` was changed to a new value `dataValue` :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorauthorizationchanged) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `OperatorAuthorizationChanged(address,address,bytes32,bytes)` - Event topic hash: `0x1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215` @@ -1444,7 +1444,7 @@ Emitted when `tokenOwner` enables `operator` to transfer or burn the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorrevoked) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `OperatorRevoked(address,address,bytes32,bool,bytes)` - Event topic hash: `0xc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c` @@ -1479,7 +1479,7 @@ Emitted when `tokenOwner` disables `operator` to transfer or burn `tokenId` on i :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownershiptransferred) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `OwnershipTransferred(address,address)` - Event topic hash: `0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0` @@ -1506,7 +1506,7 @@ event OwnershipTransferred( :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokeniddatachanged) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `TokenIdDataChanged(bytes32,bytes32,bytes)` - Event topic hash: `0xa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb` @@ -1537,7 +1537,7 @@ Emitted when setting data for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Event signature: `Transfer(address,address,address,bytes32,bool,bytes)` - Event topic hash: `0xb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf` @@ -1576,7 +1576,7 @@ Emitted when `tokenId` token is transferred from the `from` to the `to` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvaluesemptyarray) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `ERC725Y_DataKeysValuesEmptyArray()` - Error hash: `0x97da5f95` @@ -1595,7 +1595,7 @@ Reverts when one of the array parameter provided to [`setDataBatch`](#setdatabat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvalueslengthmismatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `ERC725Y_DataKeysValuesLengthMismatch()` - Error hash: `0x3bcc8979` @@ -1614,7 +1614,7 @@ Reverts when there is not the same number of elements in the `datakeys` and `dat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_msgvaluedisallowed) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `ERC725Y_MsgValueDisallowed()` - Error hash: `0xf36ba737` @@ -1633,7 +1633,7 @@ Reverts when sending value to the [`setData`](#setdata) or [`setDataBatch`](#set :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidextensionaddress) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `InvalidExtensionAddress(bytes)` - Error hash: `0x42bfe79f` @@ -1658,7 +1658,7 @@ reverts when the bytes retrieved from the LSP17 data key is not a valid address :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidfunctionselector) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `InvalidFunctionSelector(bytes)` - Error hash: `0xe5099ee3` @@ -1683,7 +1683,7 @@ reverts when the contract is called with a function selector not valid (less tha :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokennamenoteditable) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP4TokenNameNotEditable()` - Error hash: `0x85c169bd` @@ -1702,7 +1702,7 @@ Reverts when trying to edit the data key `LSP4TokenName` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokensymbolnoteditable) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP4TokenSymbolNotEditable()` - Error hash: `0x76755b38` @@ -1721,7 +1721,7 @@ Reverts when trying to edit the data key `LSP4TokenSymbol` after the digital ass :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokentypenoteditable) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP4TokenTypeNotEditable()` - Error hash: `0x4ef6d7fb` @@ -1740,7 +1740,7 @@ Reverts when trying to edit the data key `LSP4TokenType` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8batchcallfailed) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8BatchCallFailed(uint256)` - Error hash: `0x234eb819` @@ -1767,7 +1767,7 @@ Reverts when a batch call failed. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoaddresszero) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8CannotSendToAddressZero()` - Error hash: `0x24ecef4d` @@ -1786,7 +1786,7 @@ Reverts when trying to send token to the zero address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoself) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8CannotSendToSelf()` - Error hash: `0x5d67d6c1` @@ -1805,7 +1805,7 @@ Reverts when specifying the same address for `from` and `to` in a token transfer :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotuseaddresszeroasoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8CannotUseAddressZeroAsOperator()` - Error hash: `0x9577b8b3` @@ -1824,7 +1824,7 @@ Reverts when trying to set the zero address as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8invalidtransferbatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8InvalidTransferBatch()` - Error hash: `0x93a83119` @@ -1843,7 +1843,7 @@ Reverts when the parameters used for `transferBatch` have different lengths. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistenttokenid) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NonExistentTokenId(bytes32)` - Error hash: `0xae8f9a36` @@ -1868,7 +1868,7 @@ Reverts when `tokenId` has not been minted. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistingoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NonExistingOperator(address,bytes32)` - Error hash: `0x4aa31a8c` @@ -1894,7 +1894,7 @@ Reverts when `operator` is not an operator for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NotTokenOperator(bytes32,address)` - Error hash: `0x1294d2a9` @@ -1920,7 +1920,7 @@ Reverts when `caller` is not an allowed operator for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenowner) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NotTokenOwner(address,bytes32,address)` - Error hash: `0x5b271ea2` @@ -1947,7 +1947,7 @@ Reverts when `caller` is not the `tokenOwner` of the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceivercontractmissinglsp1interface) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NotifyTokenReceiverContractMissingLSP1Interface(address)` - Error hash: `0x4349776d` @@ -1974,7 +1974,7 @@ Reverts if the `tokenReceiver` does not implement LSP1 when minting or transferr :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceiveriseoa) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8NotifyTokenReceiverIsEOA(address)` - Error hash: `0x03173137` @@ -1999,7 +1999,7 @@ Reverts if the `tokenReceiver` is an EOA when minting or transferring tokens wit :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8operatoralreadyauthorized) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8OperatorAlreadyAuthorized(address,bytes32)` - Error hash: `0xa7626b68` @@ -2025,7 +2025,7 @@ Reverts when `operator` is already authorized for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokencontractcannotholdvalue) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenContractCannotHoldValue()` - Error hash: `0x61f49442` @@ -2046,7 +2046,7 @@ Error occurs when sending native tokens to the LSP8 contract without sending any :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenIdFormatNotEditable()` - Error hash: `0x3664800a` @@ -2065,7 +2065,7 @@ Reverts when trying to edit the data key `LSP8TokenIdFormat` after the identifia :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdataemptyarray) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenIdsDataEmptyArray()` - Error hash: `0x80c98305` @@ -2084,7 +2084,7 @@ Reverts when empty arrays is passed to the function :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdatalengthmismatch) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenIdsDataLengthMismatch()` - Error hash: `0x2fa71dfe` @@ -2103,7 +2103,7 @@ Reverts when the length of the token IDs data arrays is not equal :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownercannotbeoperator) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenOwnerCannotBeOperator()` - Error hash: `0x89fdad62` @@ -2122,7 +2122,7 @@ Reverts when trying to authorize or revoke the token's owner as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownerchanged) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `LSP8TokenOwnerChanged(bytes32,address,address)` - Error hash: `0x5a9c31d3` @@ -2153,7 +2153,7 @@ Reverts when the token owner changed inside the [`_beforeTokenTransfer`](#_befor :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#noextensionfoundforfunctionselector) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `NoExtensionFoundForFunctionSelector(bytes4)` - Error hash: `0xbb370b2b` @@ -2178,7 +2178,7 @@ reverts when there is no extension for the function selector being called with :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecallernottheowner) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `OwnableCallerNotTheOwner(address)` - Error hash: `0xbf1169c5` @@ -2203,7 +2203,7 @@ Reverts when only the owner is allowed to call the function. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecannotsetzeroaddressasowner) -- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol) +- Solidity implementation: [`LSP8Burnable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Burnable.sol) - Error signature: `OwnableCannotSetZeroAddressAsOwner()` - Error hash: `0x1ad8836c` diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md b/docs/contracts/lsp8/contracts/extensions/LSP8CappedSupply.md similarity index 90% rename from docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md rename to docs/contracts/lsp8/contracts/extensions/LSP8CappedSupply.md index a748cb276..3e1ecbef9 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md +++ b/docs/contracts/lsp8/contracts/extensions/LSP8CappedSupply.md @@ -10,7 +10,7 @@ ::: :::info Solidity implementation -[`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +[`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) ::: @@ -26,7 +26,7 @@ When marked as 'public', a method can be called both externally and internally, :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#fallback) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) ::: @@ -61,7 +61,7 @@ This function is executed when: :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#receive) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) ::: @@ -80,7 +80,7 @@ Reverts whenever someone tries to send native tokens to a LSP8 contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#authorizeoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `authorizeOperator(address,bytes32,bytes)` - Function selector: `0x86a10ddd` @@ -111,7 +111,7 @@ Allow an `operator` address to transfer or burn a specific `tokenId` on behalf o :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#balanceof) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `balanceOf(address)` - Function selector: `0x70a08231` @@ -142,7 +142,7 @@ Get the number of token IDs owned by `tokenOwner`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#batchcalls) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `batchCalls(bytes[])` - Function selector: `0x6963d438` @@ -181,7 +181,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdata) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `getData(bytes32)` - Function selector: `0x54f6127f` @@ -214,7 +214,7 @@ Get in the ERC725Y storage the bytes data stored at a specific data key `dataKey :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `getDataBatch(bytes32[])` - Function selector: `0xdedff9c6` @@ -249,7 +249,7 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` - Function selector: `0x1d26fce6` @@ -284,7 +284,7 @@ _Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `getDataForTokenId(bytes32,bytes32)` - Function selector: `0x16e023b3` @@ -319,7 +319,7 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `getOperatorsOf(bytes32)` - Function selector: `0x49a6078d` @@ -350,7 +350,7 @@ Returns all `operator` addresses that are allowed to transfer or burn a specific :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#isoperatorfor) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `isOperatorFor(address,bytes32)` - Function selector: `0x2a3654a4` @@ -385,7 +385,7 @@ Returns whether `operator` address is an operator for a given `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#owner) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `owner()` - Function selector: `0x8da5cb5b` @@ -410,7 +410,7 @@ Returns the address of the current owner. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#renounceownership) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `renounceOwnership()` - Function selector: `0x715018a6` @@ -429,7 +429,7 @@ Leaves the contract without owner. It will not be possible to call `onlyOwner` f :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#revokeoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `revokeOperator(address,bytes32,bool,bytes)` - Function selector: `0xdb8c9663` @@ -462,7 +462,7 @@ Remove access of `operator` for a given `tokenId`, disallowing it to transfer `t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdata) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `setData(bytes32,bytes)` - Function selector: `0x7f23690c` @@ -512,7 +512,7 @@ Sets a single bytes value `dataValue` in the ERC725Y storage for a specific data :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `setDataBatch(bytes32[],bytes[])` - Function selector: `0x97902421` @@ -562,7 +562,7 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` - Function selector: `0xbe9f0e6f` @@ -593,7 +593,7 @@ _Sets data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` - Function selector: `0xd6c1407c` @@ -624,7 +624,7 @@ _Sets data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#supportsinterface) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `supportsInterface(bytes4)` - Function selector: `0x01ffc9a7` @@ -655,7 +655,7 @@ Returns true if this contract implements the interface defined by `interfaceId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenidsof) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `tokenIdsOf(address)` - Function selector: `0xa3b261f2` @@ -686,7 +686,7 @@ Returns the list of token IDs that the `tokenOwner` address owns. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenownerof) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `tokenOwnerOf(bytes32)` - Function selector: `0x217b2270` @@ -717,7 +717,7 @@ Returns the list of `tokenIds` for the `tokenOwner` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokensupplycap) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `tokenSupplyCap()` - Function selector: `0x52058d8a` @@ -744,7 +744,7 @@ Get the maximum number of tokens that can exist to circulate. Once [`totalSupply :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#totalsupply) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `totalSupply()` - Function selector: `0x18160ddd` @@ -769,7 +769,7 @@ Returns the number of existing tokens that have been minted in this contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `transfer(address,address,bytes32,bool,bytes)` - Function selector: `0x511b6952` @@ -804,7 +804,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferbatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `transferBatch(address[],address[],bytes32[],bool[],bytes[])` - Function selector: `0x7e87632c` @@ -839,7 +839,7 @@ Transfers multiple tokens at once based on the arrays of `from`, `to` and `token :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferownership) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Function signature: `transferOwnership(address)` - Function selector: `0xf2fde38b` @@ -1357,7 +1357,7 @@ CALL opcode, passing the [`msg.data`](#msg.data) appended with the 20 bytes of t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#datachanged) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `DataChanged(bytes32,bytes)` - Event topic hash: `0xece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2` @@ -1385,7 +1385,7 @@ Emitted when data at a specific `dataKey` was changed to a new value `dataValue` :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorauthorizationchanged) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `OperatorAuthorizationChanged(address,address,bytes32,bytes)` - Event topic hash: `0x1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215` @@ -1418,7 +1418,7 @@ Emitted when `tokenOwner` enables `operator` to transfer or burn the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorrevoked) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `OperatorRevoked(address,address,bytes32,bool,bytes)` - Event topic hash: `0xc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c` @@ -1453,7 +1453,7 @@ Emitted when `tokenOwner` disables `operator` to transfer or burn `tokenId` on i :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownershiptransferred) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `OwnershipTransferred(address,address)` - Event topic hash: `0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0` @@ -1480,7 +1480,7 @@ event OwnershipTransferred( :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokeniddatachanged) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `TokenIdDataChanged(bytes32,bytes32,bytes)` - Event topic hash: `0xa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb` @@ -1511,7 +1511,7 @@ Emitted when setting data for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Event signature: `Transfer(address,address,address,bytes32,bool,bytes)` - Event topic hash: `0xb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf` @@ -1550,7 +1550,7 @@ Emitted when `tokenId` token is transferred from the `from` to the `to` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvaluesemptyarray) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `ERC725Y_DataKeysValuesEmptyArray()` - Error hash: `0x97da5f95` @@ -1569,7 +1569,7 @@ Reverts when one of the array parameter provided to [`setDataBatch`](#setdatabat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvalueslengthmismatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `ERC725Y_DataKeysValuesLengthMismatch()` - Error hash: `0x3bcc8979` @@ -1588,7 +1588,7 @@ Reverts when there is not the same number of elements in the `datakeys` and `dat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_msgvaluedisallowed) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `ERC725Y_MsgValueDisallowed()` - Error hash: `0xf36ba737` @@ -1607,7 +1607,7 @@ Reverts when sending value to the [`setData`](#setdata) or [`setDataBatch`](#set :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidextensionaddress) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `InvalidExtensionAddress(bytes)` - Error hash: `0x42bfe79f` @@ -1632,7 +1632,7 @@ reverts when the bytes retrieved from the LSP17 data key is not a valid address :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidfunctionselector) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `InvalidFunctionSelector(bytes)` - Error hash: `0xe5099ee3` @@ -1657,7 +1657,7 @@ reverts when the contract is called with a function selector not valid (less tha :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokennamenoteditable) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP4TokenNameNotEditable()` - Error hash: `0x85c169bd` @@ -1676,7 +1676,7 @@ Reverts when trying to edit the data key `LSP4TokenName` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokensymbolnoteditable) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP4TokenSymbolNotEditable()` - Error hash: `0x76755b38` @@ -1695,7 +1695,7 @@ Reverts when trying to edit the data key `LSP4TokenSymbol` after the digital ass :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokentypenoteditable) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP4TokenTypeNotEditable()` - Error hash: `0x4ef6d7fb` @@ -1714,7 +1714,7 @@ Reverts when trying to edit the data key `LSP4TokenType` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8batchcallfailed) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8BatchCallFailed(uint256)` - Error hash: `0x234eb819` @@ -1741,7 +1741,7 @@ Reverts when a batch call failed. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoaddresszero) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8CannotSendToAddressZero()` - Error hash: `0x24ecef4d` @@ -1760,7 +1760,7 @@ Reverts when trying to send token to the zero address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoself) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8CannotSendToSelf()` - Error hash: `0x5d67d6c1` @@ -1779,7 +1779,7 @@ Reverts when specifying the same address for `from` and `to` in a token transfer :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotuseaddresszeroasoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8CannotUseAddressZeroAsOperator()` - Error hash: `0x9577b8b3` @@ -1798,7 +1798,7 @@ Reverts when trying to set the zero address as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cappedsupplycannotmintovercap) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8CappedSupplyCannotMintOverCap()` - Error hash: `0xe8ba2291` @@ -1819,7 +1819,7 @@ Reverts when trying to mint tokens but the [`totalSupply`](#totalsupply) has rea :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cappedsupplyrequired) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8CappedSupplyRequired()` - Error hash: `0x38d9fc30` @@ -1840,7 +1840,7 @@ Reverts when setting `0` for the [`tokenSupplyCap`](#tokensupplycap). The max to :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8invalidtransferbatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8InvalidTransferBatch()` - Error hash: `0x93a83119` @@ -1859,7 +1859,7 @@ Reverts when the parameters used for `transferBatch` have different lengths. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistenttokenid) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NonExistentTokenId(bytes32)` - Error hash: `0xae8f9a36` @@ -1884,7 +1884,7 @@ Reverts when `tokenId` has not been minted. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistingoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NonExistingOperator(address,bytes32)` - Error hash: `0x4aa31a8c` @@ -1910,7 +1910,7 @@ Reverts when `operator` is not an operator for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NotTokenOperator(bytes32,address)` - Error hash: `0x1294d2a9` @@ -1936,7 +1936,7 @@ Reverts when `caller` is not an allowed operator for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenowner) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NotTokenOwner(address,bytes32,address)` - Error hash: `0x5b271ea2` @@ -1963,7 +1963,7 @@ Reverts when `caller` is not the `tokenOwner` of the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceivercontractmissinglsp1interface) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NotifyTokenReceiverContractMissingLSP1Interface(address)` - Error hash: `0x4349776d` @@ -1990,7 +1990,7 @@ Reverts if the `tokenReceiver` does not implement LSP1 when minting or transferr :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceiveriseoa) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8NotifyTokenReceiverIsEOA(address)` - Error hash: `0x03173137` @@ -2015,7 +2015,7 @@ Reverts if the `tokenReceiver` is an EOA when minting or transferring tokens wit :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8operatoralreadyauthorized) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8OperatorAlreadyAuthorized(address,bytes32)` - Error hash: `0xa7626b68` @@ -2041,7 +2041,7 @@ Reverts when `operator` is already authorized for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokencontractcannotholdvalue) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenContractCannotHoldValue()` - Error hash: `0x61f49442` @@ -2062,7 +2062,7 @@ Error occurs when sending native tokens to the LSP8 contract without sending any :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenIdFormatNotEditable()` - Error hash: `0x3664800a` @@ -2081,7 +2081,7 @@ Reverts when trying to edit the data key `LSP8TokenIdFormat` after the identifia :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdataemptyarray) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenIdsDataEmptyArray()` - Error hash: `0x80c98305` @@ -2100,7 +2100,7 @@ Reverts when empty arrays is passed to the function :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdatalengthmismatch) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenIdsDataLengthMismatch()` - Error hash: `0x2fa71dfe` @@ -2119,7 +2119,7 @@ Reverts when the length of the token IDs data arrays is not equal :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownercannotbeoperator) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenOwnerCannotBeOperator()` - Error hash: `0x89fdad62` @@ -2138,7 +2138,7 @@ Reverts when trying to authorize or revoke the token's owner as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownerchanged) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `LSP8TokenOwnerChanged(bytes32,address,address)` - Error hash: `0x5a9c31d3` @@ -2169,7 +2169,7 @@ Reverts when the token owner changed inside the [`_beforeTokenTransfer`](#_befor :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#noextensionfoundforfunctionselector) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `NoExtensionFoundForFunctionSelector(bytes4)` - Error hash: `0xbb370b2b` @@ -2194,7 +2194,7 @@ reverts when there is no extension for the function selector being called with :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecallernottheowner) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `OwnableCallerNotTheOwner(address)` - Error hash: `0xbf1169c5` @@ -2219,7 +2219,7 @@ Reverts when only the owner is allowed to call the function. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecannotsetzeroaddressasowner) -- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol) +- Solidity implementation: [`LSP8CappedSupply.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8CappedSupply.sol) - Error signature: `OwnableCannotSetZeroAddressAsOwner()` - Error hash: `0x1ad8836c` diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md b/docs/contracts/lsp8/contracts/extensions/LSP8Enumerable.md similarity index 91% rename from docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md rename to docs/contracts/lsp8/contracts/extensions/LSP8Enumerable.md index 858ab1171..68620aa76 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md +++ b/docs/contracts/lsp8/contracts/extensions/LSP8Enumerable.md @@ -10,7 +10,7 @@ ::: :::info Solidity implementation -[`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +[`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) ::: @@ -26,7 +26,7 @@ When marked as 'public', a method can be called both externally and internally, :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#fallback) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) ::: @@ -61,7 +61,7 @@ This function is executed when: :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#receive) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) ::: @@ -80,7 +80,7 @@ Reverts whenever someone tries to send native tokens to a LSP8 contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#authorizeoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `authorizeOperator(address,bytes32,bytes)` - Function selector: `0x86a10ddd` @@ -111,7 +111,7 @@ Allow an `operator` address to transfer or burn a specific `tokenId` on behalf o :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#balanceof) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `balanceOf(address)` - Function selector: `0x70a08231` @@ -142,7 +142,7 @@ Get the number of token IDs owned by `tokenOwner`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#batchcalls) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `batchCalls(bytes[])` - Function selector: `0x6963d438` @@ -181,7 +181,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdata) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `getData(bytes32)` - Function selector: `0x54f6127f` @@ -214,7 +214,7 @@ Get in the ERC725Y storage the bytes data stored at a specific data key `dataKey :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `getDataBatch(bytes32[])` - Function selector: `0xdedff9c6` @@ -249,7 +249,7 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` - Function selector: `0x1d26fce6` @@ -284,7 +284,7 @@ _Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `getDataForTokenId(bytes32,bytes32)` - Function selector: `0x16e023b3` @@ -319,7 +319,7 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `getOperatorsOf(bytes32)` - Function selector: `0x49a6078d` @@ -350,7 +350,7 @@ Returns all `operator` addresses that are allowed to transfer or burn a specific :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#isoperatorfor) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `isOperatorFor(address,bytes32)` - Function selector: `0x2a3654a4` @@ -385,7 +385,7 @@ Returns whether `operator` address is an operator for a given `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#owner) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `owner()` - Function selector: `0x8da5cb5b` @@ -410,7 +410,7 @@ Returns the address of the current owner. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#renounceownership) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `renounceOwnership()` - Function selector: `0x715018a6` @@ -429,7 +429,7 @@ Leaves the contract without owner. It will not be possible to call `onlyOwner` f :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#revokeoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `revokeOperator(address,bytes32,bool,bytes)` - Function selector: `0xdb8c9663` @@ -462,7 +462,7 @@ Remove access of `operator` for a given `tokenId`, disallowing it to transfer `t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdata) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `setData(bytes32,bytes)` - Function selector: `0x7f23690c` @@ -512,7 +512,7 @@ Sets a single bytes value `dataValue` in the ERC725Y storage for a specific data :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `setDataBatch(bytes32[],bytes[])` - Function selector: `0x97902421` @@ -562,7 +562,7 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` - Function selector: `0xbe9f0e6f` @@ -593,7 +593,7 @@ _Sets data in batch for multiple `tokenId` and `dataKey` pairs._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` - Function selector: `0xd6c1407c` @@ -624,7 +624,7 @@ _Sets data for a specific `tokenId` and `dataKey`._ :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#supportsinterface) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `supportsInterface(bytes4)` - Function selector: `0x01ffc9a7` @@ -655,7 +655,7 @@ Returns true if this contract implements the interface defined by `interfaceId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenat) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `tokenAt(uint256)` - Function selector: `0x92a91a3a` @@ -688,7 +688,7 @@ Returns a token id at index. See [`totalSupply`](#totalsupply) to get total numb :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenidsof) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `tokenIdsOf(address)` - Function selector: `0xa3b261f2` @@ -719,7 +719,7 @@ Returns the list of token IDs that the `tokenOwner` address owns. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokenownerof) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `tokenOwnerOf(bytes32)` - Function selector: `0x217b2270` @@ -750,7 +750,7 @@ Returns the list of `tokenIds` for the `tokenOwner` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#totalsupply) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `totalSupply()` - Function selector: `0x18160ddd` @@ -775,7 +775,7 @@ Returns the number of existing tokens that have been minted in this contract. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `transfer(address,address,bytes32,bool,bytes)` - Function selector: `0x511b6952` @@ -810,7 +810,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferbatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `transferBatch(address[],address[],bytes32[],bool[],bytes[])` - Function selector: `0x7e87632c` @@ -845,7 +845,7 @@ Transfers multiple tokens at once based on the arrays of `from`, `to` and `token :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transferownership) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Function signature: `transferOwnership(address)` - Function selector: `0xf2fde38b` @@ -1385,7 +1385,7 @@ CALL opcode, passing the [`msg.data`](#msg.data) appended with the 20 bytes of t :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#datachanged) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `DataChanged(bytes32,bytes)` - Event topic hash: `0xece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2` @@ -1413,7 +1413,7 @@ Emitted when data at a specific `dataKey` was changed to a new value `dataValue` :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorauthorizationchanged) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `OperatorAuthorizationChanged(address,address,bytes32,bytes)` - Event topic hash: `0x1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215` @@ -1446,7 +1446,7 @@ Emitted when `tokenOwner` enables `operator` to transfer or burn the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#operatorrevoked) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `OperatorRevoked(address,address,bytes32,bool,bytes)` - Event topic hash: `0xc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c` @@ -1481,7 +1481,7 @@ Emitted when `tokenOwner` disables `operator` to transfer or burn `tokenId` on i :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownershiptransferred) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `OwnershipTransferred(address,address)` - Event topic hash: `0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0` @@ -1508,7 +1508,7 @@ event OwnershipTransferred( :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#tokeniddatachanged) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `TokenIdDataChanged(bytes32,bytes32,bytes)` - Event topic hash: `0xa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb` @@ -1539,7 +1539,7 @@ Emitted when setting data for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#transfer) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Event signature: `Transfer(address,address,address,bytes32,bool,bytes)` - Event topic hash: `0xb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf` @@ -1578,7 +1578,7 @@ Emitted when `tokenId` token is transferred from the `from` to the `to` address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvaluesemptyarray) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `ERC725Y_DataKeysValuesEmptyArray()` - Error hash: `0x97da5f95` @@ -1597,7 +1597,7 @@ Reverts when one of the array parameter provided to [`setDataBatch`](#setdatabat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_datakeysvalueslengthmismatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `ERC725Y_DataKeysValuesLengthMismatch()` - Error hash: `0x3bcc8979` @@ -1616,7 +1616,7 @@ Reverts when there is not the same number of elements in the `datakeys` and `dat :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#erc725y_msgvaluedisallowed) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `ERC725Y_MsgValueDisallowed()` - Error hash: `0xf36ba737` @@ -1635,7 +1635,7 @@ Reverts when sending value to the [`setData`](#setdata) or [`setDataBatch`](#set :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidextensionaddress) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `InvalidExtensionAddress(bytes)` - Error hash: `0x42bfe79f` @@ -1660,7 +1660,7 @@ reverts when the bytes retrieved from the LSP17 data key is not a valid address :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#invalidfunctionselector) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `InvalidFunctionSelector(bytes)` - Error hash: `0xe5099ee3` @@ -1685,7 +1685,7 @@ reverts when the contract is called with a function selector not valid (less tha :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokennamenoteditable) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP4TokenNameNotEditable()` - Error hash: `0x85c169bd` @@ -1704,7 +1704,7 @@ Reverts when trying to edit the data key `LSP4TokenName` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokensymbolnoteditable) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP4TokenSymbolNotEditable()` - Error hash: `0x76755b38` @@ -1723,7 +1723,7 @@ Reverts when trying to edit the data key `LSP4TokenSymbol` after the digital ass :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp4tokentypenoteditable) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP4TokenTypeNotEditable()` - Error hash: `0x4ef6d7fb` @@ -1742,7 +1742,7 @@ Reverts when trying to edit the data key `LSP4TokenType` after the digital asset :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8batchcallfailed) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8BatchCallFailed(uint256)` - Error hash: `0x234eb819` @@ -1769,7 +1769,7 @@ Reverts when a batch call failed. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoaddresszero) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8CannotSendToAddressZero()` - Error hash: `0x24ecef4d` @@ -1788,7 +1788,7 @@ Reverts when trying to send token to the zero address. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotsendtoself) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8CannotSendToSelf()` - Error hash: `0x5d67d6c1` @@ -1807,7 +1807,7 @@ Reverts when specifying the same address for `from` and `to` in a token transfer :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8cannotuseaddresszeroasoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8CannotUseAddressZeroAsOperator()` - Error hash: `0x9577b8b3` @@ -1826,7 +1826,7 @@ Reverts when trying to set the zero address as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8invalidtransferbatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8InvalidTransferBatch()` - Error hash: `0x93a83119` @@ -1845,7 +1845,7 @@ Reverts when the parameters used for `transferBatch` have different lengths. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistenttokenid) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NonExistentTokenId(bytes32)` - Error hash: `0xae8f9a36` @@ -1870,7 +1870,7 @@ Reverts when `tokenId` has not been minted. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nonexistingoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NonExistingOperator(address,bytes32)` - Error hash: `0x4aa31a8c` @@ -1896,7 +1896,7 @@ Reverts when `operator` is not an operator for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NotTokenOperator(bytes32,address)` - Error hash: `0x1294d2a9` @@ -1922,7 +1922,7 @@ Reverts when `caller` is not an allowed operator for `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8nottokenowner) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NotTokenOwner(address,bytes32,address)` - Error hash: `0x5b271ea2` @@ -1949,7 +1949,7 @@ Reverts when `caller` is not the `tokenOwner` of the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceivercontractmissinglsp1interface) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NotifyTokenReceiverContractMissingLSP1Interface(address)` - Error hash: `0x4349776d` @@ -1976,7 +1976,7 @@ Reverts if the `tokenReceiver` does not implement LSP1 when minting or transferr :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8notifytokenreceiveriseoa) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8NotifyTokenReceiverIsEOA(address)` - Error hash: `0x03173137` @@ -2001,7 +2001,7 @@ Reverts if the `tokenReceiver` is an EOA when minting or transferring tokens wit :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8operatoralreadyauthorized) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8OperatorAlreadyAuthorized(address,bytes32)` - Error hash: `0xa7626b68` @@ -2027,7 +2027,7 @@ Reverts when `operator` is already authorized for the `tokenId`. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokencontractcannotholdvalue) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenContractCannotHoldValue()` - Error hash: `0x61f49442` @@ -2048,7 +2048,7 @@ Error occurs when sending native tokens to the LSP8 contract without sending any :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenIdFormatNotEditable()` - Error hash: `0x3664800a` @@ -2067,7 +2067,7 @@ Reverts when trying to edit the data key `LSP8TokenIdFormat` after the identifia :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdataemptyarray) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenIdsDataEmptyArray()` - Error hash: `0x80c98305` @@ -2086,7 +2086,7 @@ Reverts when empty arrays is passed to the function :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidsdatalengthmismatch) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenIdsDataLengthMismatch()` - Error hash: `0x2fa71dfe` @@ -2105,7 +2105,7 @@ Reverts when the length of the token IDs data arrays is not equal :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownercannotbeoperator) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenOwnerCannotBeOperator()` - Error hash: `0x89fdad62` @@ -2124,7 +2124,7 @@ Reverts when trying to authorize or revoke the token's owner as an operator. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenownerchanged) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `LSP8TokenOwnerChanged(bytes32,address,address)` - Error hash: `0x5a9c31d3` @@ -2155,7 +2155,7 @@ Reverts when the token owner changed inside the [`_beforeTokenTransfer`](#_befor :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#noextensionfoundforfunctionselector) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `NoExtensionFoundForFunctionSelector(bytes4)` - Error hash: `0xbb370b2b` @@ -2180,7 +2180,7 @@ reverts when there is no extension for the function selector being called with :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecallernottheowner) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `OwnableCallerNotTheOwner(address)` - Error hash: `0xbf1169c5` @@ -2205,7 +2205,7 @@ Reverts when only the owner is allowed to call the function. :::note References - Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#ownablecannotsetzeroaddressasowner) -- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol) +- Solidity implementation: [`LSP8Enumerable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp8/contracts/extensions/LSP8Enumerable.sol) - Error signature: `OwnableCannotSetZeroAddressAsOwner()` - Error hash: `0x1ad8836c` diff --git a/docs/libraries/lsp1/contracts/LSP1Utils.md b/docs/libraries/lsp1/contracts/LSP1Utils.md new file mode 100644 index 000000000..3ed3cff6b --- /dev/null +++ b/docs/libraries/lsp1/contracts/LSP1Utils.md @@ -0,0 +1,104 @@ + + + +# LSP1Utils + +:::info Standard Specifications + +[`LSP-1-Utils.sol`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-1-Utils.sol.md) + +::: +:::info Solidity implementation + +[`LSP1Utils.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp1/contracts/LSP1Utils.sol) + +::: + +> LSP1 Utility library. + +LSP1Utils is a library of utility functions that can be used to notify the `universalReceiver` function of a contract that implements LSP1 and retrieve informations related to LSP1 `typeId`. Based on LSP1 Universal Receiver standard. + +## Internal Methods + +Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs. + +Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities. + +### notifyUniversalReceiver + +```solidity +function notifyUniversalReceiver( + address lsp1Implementation, + bytes32 typeId, + bytes data +) internal nonpayable; +``` + +Notify a contract at `lsp1Implementation` address by calling its `universalReceiver` function if this contract +supports the LSP1 interface. + +#### Parameters + +| Name | Type | Description | +| -------------------- | :-------: | -------------------------------------------------------------------------------------------------- | +| `lsp1Implementation` | `address` | The address of the contract to notify. | +| `typeId` | `bytes32` | A `bytes32` typeId. | +| `data` | `bytes` | Any optional data to send to the `universalReceiver` function to the `lsp1Implementation` address. | + +
+ +### getLSP1DelegateValue + +```solidity +function getLSP1DelegateValue( + mapping(bytes32 => bytes) erc725YStorage +) internal view returns (bytes); +``` + +_Retrieving the value stored under the ERC725Y data key `LSP1UniversalReceiverDelegate`._ + +Query internally the ERC725Y storage of a `ERC725Y` smart contract to retrieve +the value set under the `LSP1UniversalReceiverDelegate` data key. + +#### Parameters + +| Name | Type | Description | +| ---------------- | :-------------------------: | ----------------------------------------------------------- | +| `erc725YStorage` | `mapping(bytes32 => bytes)` | A reference to the ERC725Y storage mapping of the contract. | + +#### Returns + +| Name | Type | Description | +| ---- | :-----: | -------------------------------------------------------------------------- | +| `0` | `bytes` | The bytes value stored under the `LSP1UniversalReceiverDelegate` data key. | + +
+ +### getLSP1DelegateValueForTypeId + +```solidity +function getLSP1DelegateValueForTypeId( + mapping(bytes32 => bytes) erc725YStorage, + bytes32 typeId +) internal view returns (bytes); +``` + +_Retrieving the value stored under the ERC725Y data key `LSP1UniversalReceiverDelegate:` for a specific `typeId`._ + +Query internally the ERC725Y storage of a `ERC725Y` smart contract to retrieve +the value set under the `LSP1UniversalReceiverDelegate:` data key for a specific LSP1 `typeId`. + +#### Parameters + +| Name | Type | Description | +| ---------------- | :-------------------------: | ----------------------------------------------------------- | +| `erc725YStorage` | `mapping(bytes32 => bytes)` | A reference to the ERC725Y storage mapping of the contract. | +| `typeId` | `bytes32` | A bytes32 LSP1 `typeId`; | + +#### Returns + +| Name | Type | Description | +| ---- | :-----: | ------------------------------------------------------------------------------------ | +| `0` | `bytes` | The bytes value stored under the `LSP1UniversalReceiverDelegate:` data key. | + +
diff --git a/docs/libraries/lsp10/contracts/LSP10Utils.md b/docs/libraries/lsp10/contracts/LSP10Utils.md new file mode 100644 index 000000000..085c67a66 --- /dev/null +++ b/docs/libraries/lsp10/contracts/LSP10Utils.md @@ -0,0 +1,113 @@ + + + +# LSP10Utils + +:::info Standard Specifications + +[`LSP-10-Utils.sol`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-10-Utils.sol.md) + +::: +:::info Solidity implementation + +[`LSP10Utils.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp10/contracts/LSP10Utils.sol) + +::: + +> LSP10 Utility library. + +LSP5Utils is a library of functions that can be used to register and manage vaults received by an ERC725Y smart contract. Based on the LSP10 Received Vaults standard. + +## Internal Methods + +Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs. + +Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities. + +### generateReceivedVaultKeys + +:::caution Warning + +This function returns empty arrays when encountering errors. Otherwise the arrays will contain 3 data keys and 3 data values. + +::: + +```solidity +function generateReceivedVaultKeys( + address receiver, + address vaultAddress +) internal view returns (bytes32[] lsp10DataKeys, bytes[] lsp10DataValues); +``` + +Generate an array of data keys/values pairs to be set on the receiver address after receiving vaults. + +#### Parameters + +| Name | Type | Description | +| -------------- | :-------: | ------------------------------------------------------------------------------ | +| `receiver` | `address` | The address receiving the vault and where the LSP10 data keys should be added. | +| `vaultAddress` | `address` | The address of the vault being received. | + +#### Returns + +| Name | Type | Description | +| ----------------- | :---------: | --------------------------------------------------------------------- | +| `lsp10DataKeys` | `bytes32[]` | An array data keys used to update the [LSP-10-ReceivedAssets] data. | +| `lsp10DataValues` | `bytes[]` | An array data values used to update the [LSP-10-ReceivedAssets] data. | + +
+ +### generateSentVaultKeys + +:::caution Warning + +Returns empty arrays when encountering errors. Otherwise the arrays must have at least 3 data keys and 3 data values. + +::: + +```solidity +function generateSentVaultKeys( + address sender, + address vaultAddress +) internal view returns (bytes32[] lsp10DataKeys, bytes[] lsp10DataValues); +``` + +Generate an array of data key/value pairs to be set on the sender address after sending vaults. + +#### Parameters + +| Name | Type | Description | +| -------------- | :-------: | ------------------------------------------------------------------------------ | +| `sender` | `address` | The address sending the vault and where the LSP10 data keys should be updated. | +| `vaultAddress` | `address` | The address of the vault that is being sent. | + +#### Returns + +| Name | Type | Description | +| ----------------- | :---------: | --------------------------------------------------------------------- | +| `lsp10DataKeys` | `bytes32[]` | An array data keys used to update the [LSP-10-ReceivedAssets] data. | +| `lsp10DataValues` | `bytes[]` | An array data values used to update the [LSP-10-ReceivedAssets] data. | + +
+ +### getLSP10ArrayLengthBytes + +```solidity +function getLSP10ArrayLengthBytes(contract IERC725Y erc725YContract) internal view returns (bytes); +``` + +Get the raw bytes value stored under the `_LSP10_VAULTS_ARRAY_KEY`. + +#### Parameters + +| Name | Type | Description | +| ----------------- | :-----------------: | ----------------------------------------------- | +| `erc725YContract` | `contract IERC725Y` | The contract to query the ERC725Y storage from. | + +#### Returns + +| Name | Type | Description | +| ---- | :-----: | ----------------------------------------------- | +| `0` | `bytes` | The raw bytes value stored under this data key. | + +
diff --git a/docs/libraries/lsp5/contracts/LSP5Utils.md b/docs/libraries/lsp5/contracts/LSP5Utils.md new file mode 100644 index 000000000..28aafcb55 --- /dev/null +++ b/docs/libraries/lsp5/contracts/LSP5Utils.md @@ -0,0 +1,115 @@ + + + +# LSP5Utils + +:::info Standard Specifications + +[`LSP-5-Utils.sol`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-5-Utils.sol.md) + +::: +:::info Solidity implementation + +[`LSP5Utils.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/lsp5/contracts/LSP5Utils.sol) + +::: + +> LSP5 Utility library. + +LSP5Utils is a library of functions that can be used to register and manage assets under an ERC725Y smart contract. Based on the LSP5 Received Assets standard. + +## Internal Methods + +Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs. + +Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities. + +### generateReceivedAssetKeys + +:::caution Warning + +Returns empty arrays when encountering errors. Otherwise the arrays must have 3 data keys and 3 data values. + +::: + +```solidity +function generateReceivedAssetKeys( + address receiver, + address assetAddress, + bytes4 assetInterfaceId +) internal view returns (bytes32[] lsp5DataKeys, bytes[] lsp5DataValues); +``` + +Generate an array of data key/value pairs to be set on the receiver address after receiving assets. + +#### Parameters + +| Name | Type | Description | +| ------------------ | :-------: | ----------------------------------------------------------------------------- | +| `receiver` | `address` | The address receiving the asset and where the LSP5 data keys should be added. | +| `assetAddress` | `address` | The address of the asset being received (_e.g: an LSP7 or LSP8 token_). | +| `assetInterfaceId` | `bytes4` | The interfaceID of the asset being received. | + +#### Returns + +| Name | Type | Description | +| ---------------- | :---------: | -------------------------------------------------------------------- | +| `lsp5DataKeys` | `bytes32[]` | An array Data Keys used to update the [LSP-5-ReceivedAssets] data. | +| `lsp5DataValues` | `bytes[]` | An array Data Values used to update the [LSP-5-ReceivedAssets] data. | + +
+ +### generateSentAssetKeys + +:::caution Warning + +Returns empty arrays when encountering errors. Otherwise the arrays must have at least 3 data keys and 3 data values. + +::: + +```solidity +function generateSentAssetKeys( + address sender, + address assetAddress +) internal view returns (bytes32[] lsp5DataKeys, bytes[] lsp5DataValues); +``` + +Generate an array of Data Key/Value pairs to be set on the sender address after sending assets. + +#### Parameters + +| Name | Type | Description | +| -------------- | :-------: | ----------------------------------------------------------------------------- | +| `sender` | `address` | The address sending the asset and where the LSP5 data keys should be updated. | +| `assetAddress` | `address` | The address of the asset that is being sent. | + +#### Returns + +| Name | Type | Description | +| ---------------- | :---------: | -------------------------------------------------------------------- | +| `lsp5DataKeys` | `bytes32[]` | An array Data Keys used to update the [LSP-5-ReceivedAssets] data. | +| `lsp5DataValues` | `bytes[]` | An array Data Values used to update the [LSP-5-ReceivedAssets] data. | + +
+ +### getLSP5ArrayLengthBytes + +```solidity +function getLSP5ArrayLengthBytes(contract IERC725Y erc725YContract) internal view returns (bytes); +``` + +Get the raw bytes value stored under the `_LSP5_RECEIVED_ASSETS_ARRAY_KEY`. + +#### Parameters + +| Name | Type | Description | +| ----------------- | :-----------------: | ----------------------------------------------- | +| `erc725YContract` | `contract IERC725Y` | The contract to query the ERC725Y storage from. | + +#### Returns + +| Name | Type | Description | +| ---- | :-----: | ----------------------------------------------- | +| `0` | `bytes` | The raw bytes value stored under this data key. | + +
diff --git a/dodoc/config.ts b/dodoc/config.ts index d31d9c579..a61760fd3 100644 --- a/dodoc/config.ts +++ b/dodoc/config.ts @@ -30,27 +30,27 @@ export const dodocConfig = { 'lsp7/contracts/extensions/LSP7CompatibleERC20.sol', 'lsp7/contracts/presets/LSP7CompatibleERC20Mintable.sol', 'lsp7/contracts/presets/LSP7Mintable.sol', - 'contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol', - 'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol', - 'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol', - 'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol', - 'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol', - 'contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol', - 'contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol', + 'lsp8/contracts/LSP8IdentifiableDigitalAsset.sol', + 'lsp8/contracts/extensions/LSP8Burnable.sol', + 'lsp8/contracts/extensions/LSP8CappedSupply.sol', + 'lsp8/contracts/extensions/LSP8CompatibleERC721.sol', + 'lsp8/contracts/extensions/LSP8Enumerable.sol', + 'lsp8/contracts/presets/LSP8CompatibleERC721Mintable.sol', + 'lsp8/contracts/presets/LSP8Mintable.sol', // libraries -------------------- - 'contracts/LSP1UniversalReceiver/LSP1Utils.sol', + 'lsp1/contracts/LSP1Utils.sol', 'lsp2/contracts/LSP2Utils.sol', - 'contracts/LSP5ReceivedAssets/LSP5Utils.sol', + 'lsp5/contracts/LSP5Utils.sol', 'lsp6/contracts/LSP6Utils.sol', - 'contracts/LSP10ReceivedVaults/LSP10Utils.sol', + 'lsp10/contracts/LSP10Utils.sol', 'lsp17contractextension/contracts/LSP17Utils.sol', // external -------------------- '@erc725/smart-contracts/contracts/ERC725.sol', ], libraries: [ - 'contracts/LSP1UniversalReceiver/LSP1Utils.sol', + 'lsp1/contracts/LSP1Utils.sol', 'lsp2/contracts/LSP2Utils.sol', 'lsp5/contracts/LSP5Utils.sol', 'lsp6/contracts/LSP6Utils.sol', @@ -335,10 +335,15 @@ const generateContractSpecsDetails = (contractName: string) => { if (value.endsWith(`${contractName}.sol`)) return value; })[0]; - if (contractPath.startsWith('lsp7/contracts')) { + // token contracts have preset and extension folders. + if (contractPath.startsWith('lsp7/contracts') || contractPath.startsWith('lsp8/contracts')) { + const lspNumber = contractPath[3]; + const lspName = lspNumber === '8' ? 'IdentifiableDigitalAsset' : 'DigitalAsset'; + const specsName = `LSP-${lspNumber}-${lspName}`; + return { - specsName: 'LSP-7-DigitalAsset', - specsLink: `${linkBase}lips/tree/main/LSPs/LSP-7-DigitalAsset.md`, + specsName: specsName, + specsLink: `${linkBase}lips/tree/main/LSPs/${specsName}.md`, }; }