diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md b/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md index a3f7b321f..92631a209 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md @@ -246,50 +246,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- 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) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- 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) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -312,38 +316,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- 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) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -559,65 +559,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- 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) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- 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) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -894,7 +894,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1115,10 +1115,10 @@ all the parameters in the calldata packed encoded.
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1146,10 +1146,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -1990,22 +1990,22 @@ Error occurs when sending native tokens to the LSP8 contract without sending any
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- 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) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md index d03071673..528232c8f 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md @@ -272,50 +272,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- 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) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- 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) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -338,38 +342,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- 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) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -585,65 +585,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- 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) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- 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) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -920,7 +920,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1141,10 +1141,10 @@ all the parameters in the calldata packed encoded.
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1172,10 +1172,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2016,22 +2016,22 @@ Error occurs when sending native tokens to the LSP8 contract without sending any
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- 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) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md index 1ec07dc80..ab2bf400d 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md @@ -244,50 +244,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- 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) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- 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) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -310,38 +314,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- 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) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -557,65 +557,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- 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) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- 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) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -919,7 +919,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1115,10 +1115,10 @@ all the parameters in the calldata packed encoded.
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1146,10 +1146,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2032,22 +2032,22 @@ Error occurs when sending native tokens to the LSP8 contract without sending any
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- 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) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md index ea71513be..5944dc6b1 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md @@ -314,50 +314,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -380,38 +384,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -838,65 +838,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -1270,7 +1270,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1386,10 +1386,10 @@ function _transfer(
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1417,10 +1417,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2381,22 +2381,22 @@ Error occurs when sending native tokens to the LSP8 contract without sending any
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) - Solidity implementation: [`LSP8CompatibleERC721.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md index 50956a00b..369063931 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md @@ -244,50 +244,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- 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) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- 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) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -310,38 +314,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- 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) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -557,65 +557,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- 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) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- 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) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -925,7 +925,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1146,10 +1146,10 @@ all the parameters in the calldata packed encoded.
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1177,10 +1177,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2018,22 +2018,22 @@ Error occurs when sending native tokens to the LSP8 contract without sending any
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- 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) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md b/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md index f65035b57..43eaed21c 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md @@ -36,7 +36,7 @@ constructor( string symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ); ``` @@ -50,7 +50,7 @@ _Deploying a `LSP8CompatibleERC721Mintable` token contract with: token name = `n | `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 (`1` = Token, `2` = NFT, `3` = Collection). | -| `lsp8TokenIdSchema_` | `uint256` | The schema of tokenIds (= NFTs) that this contract will create. | +| `lsp8TokenIdFormat_` | `uint256` | The format of tokenIds (= NFTs) that this contract will create. |
@@ -323,50 +323,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatabatchfortokenids) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Function signature: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Function signature: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -389,38 +393,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Function signature: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -882,65 +882,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatabatchfortokenids) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Function signature: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#setdatafortokenid) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Function signature: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -1314,7 +1314,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1430,10 +1430,10 @@ function _transfer(
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1461,10 +1461,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2450,22 +2450,22 @@ Reverts when `tokenId` has already been minted.
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformatnoteditable) - Solidity implementation: [`LSP8CompatibleERC721Mintable.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol) -- Error signature: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.
diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md b/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md index 33ee04b44..a5ec628af 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md @@ -36,7 +36,7 @@ constructor( string symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ); ``` @@ -50,7 +50,7 @@ _Deploying a `LSP8Mintable` token contract with: token name = `name_`, token sym | `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 (`1` = Token, `2` = NFT, `3` = Collection). | -| `lsp8TokenIdSchema_` | `uint256` | The schema of tokenIds (= NFTs) that this contract will create. | +| `lsp8TokenIdFormat_` | `uint256` | The format of tokenIds (= NFTs) that this contract will create. |
@@ -277,50 +277,54 @@ Get in the ERC725Y storage the bytes data stored at multiple data keys `dataKeys
-### getOperatorsOf +### getDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getoperatorsof) +- 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: `getOperatorsOf(bytes32)` -- Function selector: `0x49a6078d` +- Function signature: `getDataBatchForTokenIds(bytes32[],bytes32[])` +- Function selector: `0x1d26fce6` ::: ```solidity -function getOperatorsOf(bytes32 tokenId) external view returns (address[]); +function getDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys +) external view returns (bytes[] dataValues); ``` -Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. +_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ #### Parameters -| Name | Type | Description | -| --------- | :-------: | -------------------------------------- | -| `tokenId` | `bytes32` | The token ID to get the operators for. | +| Name | Type | Description | +| ---------- | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | #### Returns -| Name | Type | Description | -| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | -| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. | +| Name | Type | Description | +| ------------ | :-------: | ----------------------------------------------------------------- | +| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. |
-### getTokenIdData +### getDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddata) +- 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: `getTokenIdData(bytes32,bytes32)` -- Function selector: `0xe7bb5942` +- Function signature: `getDataForTokenId(bytes32,bytes32)` +- Function selector: `0x16e023b3` ::: ```solidity -function getTokenIdData( +function getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) external view returns (bytes dataValues); @@ -343,38 +347,34 @@ _Retrieves data for a specific `tokenId` and `dataKey`._
-### getTokenIdDataBatch +### getOperatorsOf :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#gettokeniddatabatch) +- 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: `getTokenIdDataBatch(bytes32[],bytes32[])` -- Function selector: `0xc797c777` +- Function signature: `getOperatorsOf(bytes32)` +- Function selector: `0x49a6078d` ::: ```solidity -function getTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys -) external view returns (bytes[] dataValues); +function getOperatorsOf(bytes32 tokenId) external view returns (address[]); ``` -_Retrieves data in batch for multiple `tokenId` and `dataKey` pairs._ +Returns all `operator` addresses that are allowed to transfer or burn a specific `tokenId` on behalf of its owner. #### Parameters -| Name | Type | Description | -| ---------- | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | +| Name | Type | Description | +| --------- | :-------: | -------------------------------------- | +| `tokenId` | `bytes32` | The token ID to get the operators for. | #### Returns -| Name | Type | Description | -| ------------ | :-------: | ----------------------------------------------------------------- | -| `dataValues` | `bytes[]` | An array of data values for each pair of `tokenId` and `dataKey`. | +| Name | Type | Description | +| ---- | :---------: | ------------------------------------------------------------------------------------------------------------ | +| `0` | `address[]` | An array of operators allowed to transfer or burn a specific `tokenId`. Requirements - `tokenId` must exist. |
@@ -625,65 +625,65 @@ Batch data setting function that behaves the same as [`setData`](#setdata) but a
-### setTokenIdData +### setDataBatchForTokenIds :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddata) +- 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: `setTokenIdData(bytes32,bytes32,bytes)` -- Function selector: `0x3b38c1d7` +- Function signature: `setDataBatchForTokenIds(bytes32[],bytes32[],bytes[])` +- Function selector: `0xbe9f0e6f` ::: ```solidity -function setTokenIdData( - bytes32 tokenId, - bytes32 dataKey, - bytes dataValue +function setDataBatchForTokenIds( + bytes32[] tokenIds, + bytes32[] dataKeys, + bytes[] dataValues ) external nonpayable; ``` -_Sets data for a specific `tokenId` and `dataKey`._ +_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ #### 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. | +| Name | Type | Description | +| ------------ | :---------: | ----------- | +| `tokenIds` | `bytes32[]` | - | +| `dataKeys` | `bytes32[]` | - | +| `dataValues` | `bytes[]` | - |
-### setTokenIdDataBatch +### setDataForTokenId :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#settokeniddatabatch) +- 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: `setTokenIdDataBatch(bytes32[],bytes32[],bytes[])` -- Function selector: `0xae0646d7` +- Function signature: `setDataForTokenId(bytes32,bytes32,bytes)` +- Function selector: `0xd6c1407c` ::: ```solidity -function setTokenIdDataBatch( - bytes32[] tokenIds, - bytes32[] dataKeys, - bytes[] dataValues +function setDataForTokenId( + bytes32 tokenId, + bytes32 dataKey, + bytes dataValue ) external nonpayable; ``` -_Sets data in batch for multiple `tokenId` and `dataKey` pairs._ +_Sets data for a specific `tokenId` and `dataKey`._ #### Parameters -| Name | Type | Description | -| ------------ | :---------: | ----------- | -| `tokenIds` | `bytes32[]` | - | -| `dataKeys` | `bytes32[]` | - | -| `dataValues` | `bytes[]` | - | +| 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. |
@@ -960,7 +960,7 @@ mapping(bytes32 => bytes) _store function _setData(bytes32 dataKey, bytes dataValue) internal nonpayable; ``` -The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed +The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed once the identifiable digital asset contract has been deployed.
@@ -1181,10 +1181,10 @@ all the parameters in the calldata packed encoded.
-### \_setTokenIdData +### \_setDataForTokenId ```solidity -function _setTokenIdData( +function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes dataValue @@ -1212,10 +1212,10 @@ The ERC725Y data key is the hash of the `tokenId` and `dataKey` concatenated
-### \_getTokenIdData +### \_getDataForTokenId ```solidity -function _getTokenIdData( +function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view returns (bytes dataValues); @@ -2081,22 +2081,22 @@ Reverts when `tokenId` has already been minted.
-### LSP8TokenIdSchemaNotEditable +### LSP8TokenIdFormatNotEditable :::note References -- Specification details: [**LSP-8-IdentifiableDigitalAsset**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschemanoteditable) +- 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: `LSP8TokenIdSchemaNotEditable()` -- Error hash: `0xce0c7552` +- Error signature: `LSP8TokenIdFormatNotEditable()` +- Error hash: `0x3664800a` ::: ```solidity -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); ``` -Reverts when trying to edit the data key `LSP8TokenIdSchema` after the identifiable digital asset contract has been deployed. The `LSP8TokenIdSchema` 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. +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.