diff --git a/constants.ts b/constants.ts index a7e679bc7..826945f80 100644 --- a/constants.ts +++ b/constants.ts @@ -30,7 +30,7 @@ export const INTERFACE_IDS = { LSP1UniversalReceiverDelegate: '0xa245bbda', LSP6KeyManager: '0x23f34c62', LSP7DigitalAsset: '0xb3c4928f', - LSP8IdentifiableDigitalAsset: '0xecad9f75', + LSP8IdentifiableDigitalAsset: '0x3a271706', LSP9Vault: '0x28af17e6', LSP11BasicSocialRecovery: '0x049a28f1', LSP14Ownable2Step: '0x94be5999', @@ -236,7 +236,7 @@ export const ERC725YDataKeys = { 'AddressPermissions:AllowedCalls': '0x4b80742de2bf393a64c70000', }, LSP8: { - LSP8TokenIdSchema: '0x341bc44e55234544c70af9d37b2cb8cc7ba74685b58526221de2cc977f469924', + LSP8TokenIdFormat: '0xf675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d', LSP8TokenMetadataBaseURI: '0x1a7628600c3bac7101f53697f48df381ddc36b9015e7d7c9c5633d1252aa2843', LSP8ReferenceContract: '0x708e7b881795f2e6b6c2752108c177ec89248458de3bf69d0d43480b3e5034e6', }, @@ -396,7 +396,7 @@ export const LSP1_TYPE_IDS = { // ---------- /** - * @dev list of LSP4 Token types to describe the type of token a digital asset contract represents. + * @dev List of LSP4 Token types to describe the type of token a digital asset contract represents. * @see for details see: https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-4-DigitalAsset-Metadata.md#lsp4tokentype */ export const LSP4_TOKEN_TYPES = { @@ -409,10 +409,10 @@ export const LSP4_TOKEN_TYPES = { // ---------- /** - * @dev list of LSP8 Token ID Schemas that can be used to create different types of NFTs and represent each NFT identifiers differently. - * @see for details see: https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidschema + * @dev List of LSP8 Token ID Formats that can be used to create different types of NFTs and represent each NFT identifiers (= tokenIds) differently. + * @see For details see: https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformat */ -export const LSP8_TOKEN_ID_SCHEMA = { +export const LSP8_TOKEN_ID_FORMAT = { NUMBER: 0, STRING: 1, ADDRESS: 2, diff --git a/contracts/LSP8IdentifiableDigitalAsset/ILSP8IdentifiableDigitalAsset.sol b/contracts/LSP8IdentifiableDigitalAsset/ILSP8IdentifiableDigitalAsset.sol index 2e959c2c3..241a68f19 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/ILSP8IdentifiableDigitalAsset.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/ILSP8IdentifiableDigitalAsset.sol @@ -1,5 +1,4 @@ // SPDX-License-Identifier: Apache-2.0 - pragma solidity ^0.8.4; // interfaces @@ -114,6 +113,28 @@ interface ILSP8IdentifiableDigitalAsset is IERC165, IERC725Y { // --- TokenId Metadata functionality + /** + * @notice Retrieves data for a specific `tokenId` and `dataKey`. + * @param tokenId The unique identifier for a token. + * @param dataKey The key for the data to retrieve. + * @return dataValues The data value associated with the given `tokenId` and `dataKey`. + */ + function getDataForTokenId( + bytes32 tokenId, + bytes32 dataKey + ) external returns (bytes memory dataValues); + + /** + * @notice Retrieves data in batch for multiple `tokenId` and `dataKey` pairs. + * @param tokenIds An array of token IDs. + * @param dataKeys An array of data keys corresponding to the token IDs. + * @return dataValues An array of data values for each pair of `tokenId` and `dataKey`. + */ + function getDataBatchForTokenIds( + bytes32[] memory tokenIds, + bytes32[] memory dataKeys + ) external returns (bytes[] memory dataValues); + /** * @notice Sets data for a specific `tokenId` and `dataKey`. * @param tokenId The unique identifier for a token. @@ -121,7 +142,7 @@ interface ILSP8IdentifiableDigitalAsset is IERC165, IERC725Y { * @param dataValue The value to set for the given data key. * @custom:events {TokenIdDataChanged} event. */ - function setTokenIdData( + function setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes memory dataValue @@ -129,39 +150,17 @@ interface ILSP8IdentifiableDigitalAsset is IERC165, IERC725Y { /** * @notice Sets data in batch for multiple `tokenId` and `dataKey` pairs. - * @param tokenId An array of token IDs. - * @param dataKey An array of data keys corresponding to the token IDs. - * @param dataValue An array of values to set for the given data keys. + * @param tokenIds An array of token IDs. + * @param dataKeys An array of data keys corresponding to the token IDs. + * @param dataValues An array of values to set for the given data keys. * @custom:events {TokenIdDataChanged} event for each pair. */ - function setTokenIdDataBatch( - bytes32[] memory tokenId, - bytes32[] memory dataKey, - bytes[] memory dataValue + function setDataBatchForTokenIds( + bytes32[] memory tokenIds, + bytes32[] memory dataKeys, + bytes[] memory dataValues ) external; - /** - * @notice Retrieves data for a specific `tokenId` and `dataKey`. - * @param tokenId The unique identifier for a token. - * @param dataKey The key for the data to retrieve. - * @return dataValues The data value associated with the given `tokenId` and `dataKey`. - */ - function getTokenIdData( - bytes32 tokenId, - bytes32 dataKey - ) external returns (bytes memory dataValues); - - /** - * @notice Retrieves data in batch for multiple `tokenId` and `dataKey` pairs. - * @param tokenId An array of token IDs. - * @param dataKey An array of data keys corresponding to the token IDs. - * @return dataValues An array of data values for each pair of `tokenId` and `dataKey`. - */ - function getTokenIdDataBatch( - bytes32[] memory tokenId, - bytes32[] memory dataKey - ) external returns (bytes[] memory dataValues); - // --- Operator functionality /** diff --git a/contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol b/contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol index d20ba7375..a2b327981 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol @@ -2,12 +2,12 @@ pragma solidity ^0.8.4; // --- ERC165 interface ids -bytes4 constant _INTERFACEID_LSP8 = 0xecad9f75; +bytes4 constant _INTERFACEID_LSP8 = 0x3a271706; // --- ERC725Y Data Keys -// keccak256('LSP8TokenIdSchema') -bytes32 constant _LSP8_TOKENID_SCHEMA_KEY = 0x341bc44e55234544c70af9d37b2cb8cc7ba74685b58526221de2cc977f469924; +// keccak256('LSP8TokenIdFormat') +bytes32 constant _LSP8_TOKENID_FORMAT_KEY = 0xf675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d; // keccak256('LSP8TokenMetadataBaseURI') bytes32 constant _LSP8_TOKEN_METADATA_BASE_URI = 0x1a7628600c3bac7101f53697f48df381ddc36b9015e7d7c9c5633d1252aa2843; @@ -26,16 +26,16 @@ bytes32 constant _TYPEID_LSP8_TOKENSRECIPIENT = 0x0b084a55ebf70fd3c06fd755269dac // keccak256('LSP8Tokens_OperatorNotification') bytes32 constant _TYPEID_LSP8_TOKENOPERATOR = 0x8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f00970; -// --- Token IDs Schema +// --- Token IDs Format -uint256 constant _LSP8_TOKENID_SCHEMA_NUMBER = 0; -uint256 constant _LSP8_TOKENID_SCHEMA_STRING = 1; -uint256 constant _LSP8_TOKENID_SCHEMA_ADDRESS = 2; -uint256 constant _LSP8_TOKENID_SCHEMA_UNIQUE_ID = 3; -uint256 constant _LSP8_TOKENID_SCHEMA_HASH = 4; +uint256 constant _LSP8_TOKENID_FORMAT_NUMBER = 0; +uint256 constant _LSP8_TOKENID_FORMAT_STRING = 1; +uint256 constant _LSP8_TOKENID_FORMAT_ADDRESS = 2; +uint256 constant _LSP8_TOKENID_FORMAT_UNIQUE_ID = 3; +uint256 constant _LSP8_TOKENID_FORMAT_HASH = 4; -uint256 constant _LSP8_TOKENID_SCHEMA_MIXED_DEFAULT_NUMBER = 100; -uint256 constant _LSP8_TOKENID_SCHEMA_MIXED_DEFAULT_STRING = 101; -uint256 constant _LSP8_TOKENID_SCHEMA_MIXED_DEFAULT_ADDRESS = 102; -uint256 constant _LSP8_TOKENID_SCHEMA_MIXED_DEFAULT_UNIQUE_ID = 103; -uint256 constant _LSP8_TOKENID_SCHEMA_MIXED_DEFAULT_HASH = 104; +uint256 constant _LSP8_TOKENID_FORMAT_MIXED_DEFAULT_NUMBER = 100; +uint256 constant _LSP8_TOKENID_FORMAT_MIXED_DEFAULT_STRING = 101; +uint256 constant _LSP8_TOKENID_FORMAT_MIXED_DEFAULT_ADDRESS = 102; +uint256 constant _LSP8_TOKENID_FORMAT_MIXED_DEFAULT_UNIQUE_ID = 103; +uint256 constant _LSP8_TOKENID_FORMAT_MIXED_DEFAULT_HASH = 104; diff --git a/contracts/LSP8IdentifiableDigitalAsset/LSP8Errors.sol b/contracts/LSP8IdentifiableDigitalAsset/LSP8Errors.sol index 97d1d3c2e..7bbf06ba0 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/LSP8Errors.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/LSP8Errors.sol @@ -82,11 +82,11 @@ error LSP8TokenOwnerCannotBeOperator(); error LSP8TokenContractCannotHoldValue(); /** - * @dev 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. + * @dev 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. */ -error LSP8TokenIdSchemaNotEditable(); +error LSP8TokenIdFormatNotEditable(); /** * @dev Reverts when the length of the token IDs data arrays is not equal diff --git a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol index f940d2253..155237d49 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol @@ -23,12 +23,12 @@ import {LSP17Extendable} from "../LSP17ContractExtension/LSP17Extendable.sol"; import {LSP2Utils} from "../LSP2ERC725YJSONSchema/LSP2Utils.sol"; // constants -import {_INTERFACEID_LSP8, _LSP8_TOKENID_SCHEMA_KEY} from "./LSP8Constants.sol"; +import {_INTERFACEID_LSP8, _LSP8_TOKENID_FORMAT_KEY} from "./LSP8Constants.sol"; // errors import { LSP8TokenContractCannotHoldValue, - LSP8TokenIdSchemaNotEditable + LSP8TokenIdFormatNotEditable } from "./LSP8Errors.sol"; import { @@ -61,18 +61,18 @@ abstract contract LSP8IdentifiableDigitalAsset is { /** * @notice Deploying a LSP8IdentifiableDigitalAsset with name `name_`, symbol `symbol_`, owned by address `newOwner_` - * with tokenId schema `lsp8TokenIdSchema_`. + * with tokenId format `lsp8TokenIdFormat_`. * - * @dev Deploy a `LSP8IdentifiableDigitalAsset` contract and set the tokenId schema inside the ERC725Y storage of the contract. + * @dev Deploy a `LSP8IdentifiableDigitalAsset` contract and set the tokenId format inside the ERC725Y storage of the contract. * This will also set the token `name_` and `symbol_` under the ERC725Y data keys `LSP4TokenName` and `LSP4TokenSymbol`. * * @param name_ The name of the token * @param symbol_ The symbol of the token * @param newOwner_ The owner of the the token-Metadata * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. * - * @custom:warning Make sure the tokenId schema provided on deployment is correct, as it can only be set once + * @custom:warning Make sure the tokenId format provided on deployment is correct, as it can only be set once * and cannot be changed in the ERC725Y storage after the contract has been deployed. */ constructor( @@ -80,11 +80,11 @@ abstract contract LSP8IdentifiableDigitalAsset is string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP4DigitalAssetMetadata(name_, symbol_, newOwner_, lsp4TokenType_) { LSP4DigitalAssetMetadata._setData( - _LSP8_TOKENID_SCHEMA_KEY, - abi.encode(lsp8TokenIdSchema_) + _LSP8_TOKENID_FORMAT_KEY, + abi.encode(lsp8TokenIdFormat_) ); } @@ -220,7 +220,7 @@ abstract contract LSP8IdentifiableDigitalAsset is /** * @inheritdoc LSP4DigitalAssetMetadata - * @dev The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed + * @dev The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed * once the identifiable digital asset contract has been deployed. */ function _setData( @@ -231,8 +231,8 @@ abstract contract LSP8IdentifiableDigitalAsset is virtual override(LSP4DigitalAssetMetadata, LSP4DigitalAssetMetadataCore) { - if (dataKey == _LSP8_TOKENID_SCHEMA_KEY) { - revert LSP8TokenIdSchemaNotEditable(); + if (dataKey == _LSP8_TOKENID_FORMAT_KEY) { + revert LSP8TokenIdFormatNotEditable(); } LSP4DigitalAssetMetadata._setData(dataKey, dataValue); } diff --git a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetCore.sol b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetCore.sol index d0ba4cb2b..d10720d8b 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetCore.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetCore.sol @@ -128,18 +128,49 @@ abstract contract LSP8IdentifiableDigitalAssetCore is /** * @inheritdoc ILSP8IdentifiableDigitalAsset */ - function setTokenIdData( + function getDataForTokenId( + bytes32 tokenId, + bytes32 dataKey + ) public view virtual override returns (bytes memory dataValue) { + return _getDataForTokenId(tokenId, dataKey); + } + + /** + * @inheritdoc ILSP8IdentifiableDigitalAsset + */ + function getDataBatchForTokenIds( + bytes32[] memory tokenIds, + bytes32[] memory dataKeys + ) public view virtual override returns (bytes[] memory dataValues) { + dataValues = new bytes[](tokenIds.length); + + for (uint256 i; i < tokenIds.length; ) { + dataValues[i] = _getDataForTokenId(tokenIds[i], dataKeys[i]); + + // Increment the iterator in unchecked block to save gas + unchecked { + ++i; + } + } + + return dataValues; + } + + /** + * @inheritdoc ILSP8IdentifiableDigitalAsset + */ + function setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes memory dataValue ) public virtual override onlyOwner { - _setTokenIdData(tokenId, dataKey, dataValue); + _setDataForTokenId(tokenId, dataKey, dataValue); } /** * @inheritdoc ILSP8IdentifiableDigitalAsset */ - function setTokenIdDataBatch( + function setDataBatchForTokenIds( bytes32[] memory tokenIds, bytes32[] memory dataKeys, bytes[] memory dataValues @@ -156,7 +187,7 @@ abstract contract LSP8IdentifiableDigitalAssetCore is } for (uint256 i; i < tokenIds.length; ) { - _setTokenIdData(tokenIds[i], dataKeys[i], dataValues[i]); + _setDataForTokenId(tokenIds[i], dataKeys[i], dataValues[i]); // Increment the iterator in unchecked block to save gas unchecked { @@ -204,37 +235,6 @@ abstract contract LSP8IdentifiableDigitalAssetCore is } } - /** - * @inheritdoc ILSP8IdentifiableDigitalAsset - */ - function getTokenIdData( - bytes32 tokenId, - bytes32 dataKey - ) public view virtual override returns (bytes memory dataValues) { - return _getTokenIdData(tokenId, dataKey); - } - - /** - * @inheritdoc ILSP8IdentifiableDigitalAsset - */ - function getTokenIdDataBatch( - bytes32[] memory tokenIds, - bytes32[] memory dataKeys - ) public view virtual override returns (bytes[] memory dataValues) { - dataValues = new bytes[](tokenIds.length); - - for (uint256 i; i < tokenIds.length; ) { - dataValues[i] = _getTokenIdData(tokenIds[i], dataKeys[i]); - - // Increment the iterator in unchecked block to save gas - unchecked { - ++i; - } - } - - return dataValues; - } - // --- Operator functionality /** @@ -662,7 +662,7 @@ abstract contract LSP8IdentifiableDigitalAssetCore is * @param dataValue The value to set for the given data key. * @custom:events {TokenIdDataChanged} event. */ - function _setTokenIdData( + function _setDataForTokenId( bytes32 tokenId, bytes32 dataKey, bytes memory dataValue @@ -678,7 +678,7 @@ abstract contract LSP8IdentifiableDigitalAssetCore is * @param dataKey The key for the data to retrieve. * @return dataValues The data value associated with the given `tokenId` and `dataKey`. */ - function _getTokenIdData( + function _getDataForTokenId( bytes32 tokenId, bytes32 dataKey ) internal view virtual returns (bytes memory dataValues) { diff --git a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetInitAbstract.sol index 78890ee0a..008a72421 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetInitAbstract.sol @@ -23,12 +23,12 @@ import {LSP17Extendable} from "../LSP17ContractExtension/LSP17Extendable.sol"; import {LSP2Utils} from "../LSP2ERC725YJSONSchema/LSP2Utils.sol"; // constants -import {_INTERFACEID_LSP8, _LSP8_TOKENID_SCHEMA_KEY} from "./LSP8Constants.sol"; +import {_INTERFACEID_LSP8, _LSP8_TOKENID_FORMAT_KEY} from "./LSP8Constants.sol"; // errors import { LSP8TokenContractCannotHoldValue, - LSP8TokenIdSchemaNotEditable + LSP8TokenIdFormatNotEditable } from "./LSP8Errors.sol"; import { @@ -60,16 +60,16 @@ abstract contract LSP8IdentifiableDigitalAssetInitAbstract is LSP17Extendable { /** - * @dev Initialize a `LSP8IdentifiableDigitalAsset` contract and set the tokenId schema inside the ERC725Y storage of the contract. + * @dev Initialize a `LSP8IdentifiableDigitalAsset` contract and set the tokenId format inside the ERC725Y storage of the contract. * This will also set the token `name_` and `symbol_` under the ERC725Y data keys `LSP4TokenName` and `LSP4TokenSymbol`. * * @param name_ The name of the token * @param symbol_ The symbol of the token * @param newOwner_ The owner of the the token-Metadata * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. * - * @custom:warning Make sure the tokenId schema provided on deployment is correct, as it can only be set once + * @custom:warning Make sure the tokenId format provided on deployment is correct, as it can only be set once * and cannot be changed in the ERC725Y storage after the contract has been initialized. */ function _initialize( @@ -77,7 +77,7 @@ abstract contract LSP8IdentifiableDigitalAssetInitAbstract is string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) internal virtual onlyInitializing { LSP4DigitalAssetMetadataInitAbstract._initialize( name_, @@ -87,8 +87,8 @@ abstract contract LSP8IdentifiableDigitalAssetInitAbstract is ); LSP4DigitalAssetMetadataInitAbstract._setData( - _LSP8_TOKENID_SCHEMA_KEY, - abi.encode(lsp8TokenIdSchema_) + _LSP8_TOKENID_FORMAT_KEY, + abi.encode(lsp8TokenIdFormat_) ); } @@ -224,7 +224,7 @@ abstract contract LSP8IdentifiableDigitalAssetInitAbstract is /** * @inheritdoc LSP4DigitalAssetMetadataInitAbstract - * @dev The ERC725Y data key `_LSP8_TOKENID_SCHEMA_KEY` cannot be changed + * @dev The ERC725Y data key `_LSP8_TOKENID_FORMAT_KEY` cannot be changed * once the identifiable digital asset contract has been deployed. */ function _setData( @@ -238,8 +238,8 @@ abstract contract LSP8IdentifiableDigitalAssetInitAbstract is LSP4DigitalAssetMetadataCore ) { - if (dataKey == _LSP8_TOKENID_SCHEMA_KEY) { - revert LSP8TokenIdSchemaNotEditable(); + if (dataKey == _LSP8_TOKENID_FORMAT_KEY) { + revert LSP8TokenIdFormatNotEditable(); } LSP4DigitalAssetMetadataInitAbstract._setData(dataKey, dataValue); } diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol index 88bdd216d..678a7710b 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; import { LSP8IdentifiableDigitalAsset diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8BurnableInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8BurnableInitAbstract.sol index 064aefd3b..9adc718c0 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8BurnableInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8BurnableInitAbstract.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; import { LSP8IdentifiableDigitalAssetInitAbstract diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol index 102f4b819..c9166c3e6 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // modules import { diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupplyInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupplyInitAbstract.sol index 6fab6a033..61090f2df 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupplyInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupplyInitAbstract.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // modules import { diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol index a7987815b..9a140cd0c 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol @@ -65,21 +65,21 @@ abstract contract LSP8CompatibleERC721 is * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ constructor( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8IdentifiableDigitalAsset( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721InitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721InitAbstract.sol index d484d3e60..3a685f0d9 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721InitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721InitAbstract.sol @@ -65,7 +65,7 @@ abstract contract LSP8CompatibleERC721InitAbstract is * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ function _initialize( @@ -73,14 +73,14 @@ abstract contract LSP8CompatibleERC721InitAbstract is string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) internal virtual override onlyInitializing { LSP8IdentifiableDigitalAssetInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol index 11ed39e20..ebae4ea6c 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // modules import { diff --git a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8EnumerableInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8EnumerableInitAbstract.sol index e898fc082..2d4a0914c 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8EnumerableInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8EnumerableInitAbstract.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // modules import { diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/ILSP8Mintable.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/ILSP8Mintable.sol index 946d022b8..da7fcc0ab 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/ILSP8Mintable.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/ILSP8Mintable.sol @@ -1,5 +1,4 @@ // SPDX-License-Identifier: Apache-2.0 - pragma solidity ^0.8.4; // interfaces diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol index 68bcca5be..981ee1a61 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol @@ -15,21 +15,21 @@ contract LSP8CompatibleERC721Mintable is LSP8CompatibleERC721 { * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ constructor( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8CompatibleERC721( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInit.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInit.sol index ae12ac61d..9f82cdbf1 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInit.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInit.sol @@ -27,21 +27,21 @@ contract LSP8CompatibleERC721MintableInit is * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ function initialize( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) external virtual initializer { LSP8CompatibleERC721MintableInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } } diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInitAbstract.sol index 67838e84c..462e52d9b 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721MintableInitAbstract.sol @@ -20,14 +20,14 @@ contract LSP8CompatibleERC721MintableInitAbstract is string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) internal virtual override onlyInitializing { LSP8CompatibleERC721InitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol index b94a1bbaf..872d63421 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // interfaces import {ILSP8Mintable} from "./ILSP8Mintable.sol"; @@ -22,21 +21,21 @@ contract LSP8Mintable is LSP8IdentifiableDigitalAsset, ILSP8Mintable { * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ constructor( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8IdentifiableDigitalAsset( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInit.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInit.sol index a43b8a219..a69b654fc 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInit.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInit.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // modules import {LSP8MintableInitAbstract} from "./LSP8MintableInitAbstract.sol"; @@ -24,21 +23,21 @@ contract LSP8MintableInit is LSP8MintableInitAbstract { * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ function initialize( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) external virtual initializer { LSP8MintableInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } } diff --git a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInitAbstract.sol b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInitAbstract.sol index 90214ad8e..622b2e29f 100644 --- a/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInitAbstract.sol +++ b/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8MintableInitAbstract.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 - -pragma solidity ^0.8.4; +pragma solidity ^0.8.12; // interfaces import {ILSP8Mintable} from "./ILSP8Mintable.sol"; @@ -24,21 +23,21 @@ abstract contract LSP8MintableInitAbstract is * @param symbol_ The symbol of the token. * @param newOwner_ The owner of the token contract. * @param lsp4TokenType_ The type of token this digital asset contract represents (`0` = Token, `1` = NFT, `2` = Collection). - * @param lsp8TokenIdSchema_ The schema of tokenIds (= NFTs) that this contract will create. + * @param lsp8TokenIdFormat_ The format of tokenIds (= NFTs) that this contract will create. */ function _initialize( string memory name_, string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) internal virtual override onlyInitializing { LSP8IdentifiableDigitalAssetInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } diff --git a/contracts/Mocks/Tokens/LSP8BurnableInitTester.sol b/contracts/Mocks/Tokens/LSP8BurnableInitTester.sol index 137bbdfb0..413f518dd 100644 --- a/contracts/Mocks/Tokens/LSP8BurnableInitTester.sol +++ b/contracts/Mocks/Tokens/LSP8BurnableInitTester.sol @@ -16,14 +16,14 @@ contract LSP8BurnableInitTester is LSP8BurnableInitAbstract { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) public virtual initializer { LSP8IdentifiableDigitalAssetInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } } diff --git a/contracts/Mocks/Tokens/LSP8BurnableTester.sol b/contracts/Mocks/Tokens/LSP8BurnableTester.sol index 728338172..e239d12cd 100644 --- a/contracts/Mocks/Tokens/LSP8BurnableTester.sol +++ b/contracts/Mocks/Tokens/LSP8BurnableTester.sol @@ -16,14 +16,14 @@ contract LSP8BurnableTester is LSP8Burnable { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8IdentifiableDigitalAsset( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} } diff --git a/contracts/Mocks/Tokens/LSP8CappedSupplyInitTester.sol b/contracts/Mocks/Tokens/LSP8CappedSupplyInitTester.sol index 217b5cf99..155b524e7 100644 --- a/contracts/Mocks/Tokens/LSP8CappedSupplyInitTester.sol +++ b/contracts/Mocks/Tokens/LSP8CappedSupplyInitTester.sol @@ -16,7 +16,7 @@ contract LSP8CappedSupplyInitTester is LSP8CappedSupplyInitAbstract { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_, + uint256 lsp8TokenIdFormat_, uint256 tokenSupplyCap_ ) public virtual initializer { LSP8IdentifiableDigitalAssetInitAbstract._initialize( @@ -24,7 +24,7 @@ contract LSP8CappedSupplyInitTester is LSP8CappedSupplyInitAbstract { symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); LSP8CappedSupplyInitAbstract._initialize(tokenSupplyCap_); } diff --git a/contracts/Mocks/Tokens/LSP8CappedSupplyTester.sol b/contracts/Mocks/Tokens/LSP8CappedSupplyTester.sol index 02d51fefe..a64aabc5a 100644 --- a/contracts/Mocks/Tokens/LSP8CappedSupplyTester.sol +++ b/contracts/Mocks/Tokens/LSP8CappedSupplyTester.sol @@ -16,7 +16,7 @@ contract LSP8CappedSupplyTester is LSP8CappedSupply { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_, + uint256 lsp8TokenIdFormat_, uint256 tokenSupplyCap_ ) LSP8IdentifiableDigitalAsset( @@ -24,7 +24,7 @@ contract LSP8CappedSupplyTester is LSP8CappedSupply { symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) LSP8CappedSupply(tokenSupplyCap_) {} diff --git a/contracts/Mocks/Tokens/LSP8CompatibleERC721Tester.sol b/contracts/Mocks/Tokens/LSP8CompatibleERC721Tester.sol index 61112dfee..29e32729e 100644 --- a/contracts/Mocks/Tokens/LSP8CompatibleERC721Tester.sol +++ b/contracts/Mocks/Tokens/LSP8CompatibleERC721Tester.sol @@ -18,7 +18,7 @@ contract LSP8CompatibleERC721Tester is LSP8CompatibleERC721 { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_, + uint256 lsp8TokenIdFormat_, bytes memory tokenURIValue_ ) LSP8CompatibleERC721( @@ -26,7 +26,7 @@ contract LSP8CompatibleERC721Tester is LSP8CompatibleERC721 { symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) { _setData(_LSP4_METADATA_KEY, tokenURIValue_); diff --git a/contracts/Mocks/Tokens/LSP8CompatibleERC721TesterInit.sol b/contracts/Mocks/Tokens/LSP8CompatibleERC721TesterInit.sol index 7e62b9fe4..ddcab4dfd 100644 --- a/contracts/Mocks/Tokens/LSP8CompatibleERC721TesterInit.sol +++ b/contracts/Mocks/Tokens/LSP8CompatibleERC721TesterInit.sol @@ -25,7 +25,7 @@ contract LSP8CompatibleERC721InitTester is LSP8CompatibleERC721InitAbstract { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_, + uint256 lsp8TokenIdFormat_, bytes memory tokenURIValue_ ) public virtual initializer { LSP8CompatibleERC721InitAbstract._initialize( @@ -33,7 +33,7 @@ contract LSP8CompatibleERC721InitTester is LSP8CompatibleERC721InitAbstract { symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); _setData(_LSP4_METADATA_KEY, tokenURIValue_); diff --git a/contracts/Mocks/Tokens/LSP8EnumerableInitTester.sol b/contracts/Mocks/Tokens/LSP8EnumerableInitTester.sol index 33ab82d75..cb54b5454 100644 --- a/contracts/Mocks/Tokens/LSP8EnumerableInitTester.sol +++ b/contracts/Mocks/Tokens/LSP8EnumerableInitTester.sol @@ -16,14 +16,14 @@ contract LSP8EnumerableInitTester is LSP8EnumerableInitAbstract { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) public virtual initializer { LSP8IdentifiableDigitalAssetInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } diff --git a/contracts/Mocks/Tokens/LSP8EnumerableTester.sol b/contracts/Mocks/Tokens/LSP8EnumerableTester.sol index 4abcb8059..64605675b 100644 --- a/contracts/Mocks/Tokens/LSP8EnumerableTester.sol +++ b/contracts/Mocks/Tokens/LSP8EnumerableTester.sol @@ -16,14 +16,14 @@ contract LSP8EnumerableTester is LSP8Enumerable { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8IdentifiableDigitalAsset( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} diff --git a/contracts/Mocks/Tokens/LSP8InitTester.sol b/contracts/Mocks/Tokens/LSP8InitTester.sol index 137d770ed..f18e37b66 100644 --- a/contracts/Mocks/Tokens/LSP8InitTester.sol +++ b/contracts/Mocks/Tokens/LSP8InitTester.sol @@ -19,14 +19,14 @@ contract LSP8InitTester is string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) public initializer { LSP8IdentifiableDigitalAssetInitAbstract._initialize( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ); } diff --git a/contracts/Mocks/Tokens/LSP8Tester.sol b/contracts/Mocks/Tokens/LSP8Tester.sol index 0127b9a3c..6d35de1d9 100644 --- a/contracts/Mocks/Tokens/LSP8Tester.sol +++ b/contracts/Mocks/Tokens/LSP8Tester.sol @@ -16,14 +16,14 @@ contract LSP8Tester is LSP8IdentifiableDigitalAsset, LSP8Burnable { string memory symbol_, address newOwner_, uint256 lsp4TokenType_, - uint256 lsp8TokenIdSchema_ + uint256 lsp8TokenIdFormat_ ) LSP8IdentifiableDigitalAsset( name_, symbol_, newOwner_, lsp4TokenType_, - lsp8TokenIdSchema_ + lsp8TokenIdFormat_ ) {} diff --git a/docs/_interface_ids_table.mdx b/docs/_interface_ids_table.mdx index ef81cec0a..acba017e9 100644 --- a/docs/_interface_ids_table.mdx +++ b/docs/_interface_ids_table.mdx @@ -9,7 +9,7 @@ | **LSP1UniversalReceiverDelegate** | `0xa245bbda` | Interface of the LSP1 - Universal Receiver Delegate standard. | | **LSP6KeyManager** | `0x23f34c62` | Interface of the LSP6 - Key Manager standard, a contract acting as a controller of an ERC725 Account using predfined permissions. | | **LSP7DigitalAsset** | `0xb3c4928f` | Interface of the LSP7 - Digital Asset standard, a fungible digital asset. | -| **LSP8IdentifiableDigitalAsset** | `0xecad9f75` | Interface of the LSP8 - Identifiable Digital Asset standard, a non-fungible digital asset. | +| **LSP8IdentifiableDigitalAsset** | `0x3a271706` | Interface of the LSP8 - Identifiable Digital Asset standard, a non-fungible digital asset. | | **LSP9Vault** | `0x28af17e6` | Interface of LSP9 - Vault standard, a blockchain vault that can hold assets and interact with other smart contracts. | | **LSP11BasicSocialRecovery** | `0x049a28f1` | Interface of the LSP11 - Basic Social Recovery standard, a contract to recover access control into an account. | | **LSP14Ownable2Step** | `0x94be5999` | Interface of the LSP14 - Ownable 2-step standard, an extension of the [EIP173] (Ownable) standard with 2-step process to transfer or renounce ownership. | diff --git a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md b/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md index a3f7b321f..f58cf9036 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md @@ -246,53 +246,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -306,44 +310,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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..b6ac5fb1b 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md @@ -272,53 +272,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -332,44 +336,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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..cd7d4f6bd 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md @@ -244,53 +244,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -304,44 +308,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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..885463cc7 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md @@ -314,53 +314,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -374,44 +378,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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..f04d2e4b6 100644 --- a/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md +++ b/docs/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md @@ -244,53 +244,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -304,44 +308,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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 405acef76..01b0bfd1f 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 (`0` = Token, `1` = NFT, `2` = 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,53 +323,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -383,44 +387,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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 c59b3675a..e5d4d8dd9 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 (`0` = Token, `1` = NFT, `2` = 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,53 +277,57 @@ 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[]` | An array of token IDs. | +| `dataKeys` | `bytes32[]` | An array of data keys corresponding to the token IDs. | #### 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); +) external view returns (bytes dataValue); ``` _Retrieves data for a specific `tokenId` and `dataKey`._ @@ -337,44 +341,40 @@ _Retrieves data for a specific `tokenId` and `dataKey`._ #### Returns -| Name | Type | Description | -| ------------ | :-----: | ----------------------------------------------------------------- | -| `dataValues` | `bytes` | The data value associated with the given `tokenId` and `dataKey`. | +| Name | Type | Description | +| ----------- | :-----: | ----------------------------------------------------------------- | +| `dataValue` | `bytes` | The data value associated with the given `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[]` | 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. |
-### 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.
diff --git a/tests/Benchmark.test.ts b/tests/Benchmark.test.ts index bf8c45335..48418fa73 100644 --- a/tests/Benchmark.test.ts +++ b/tests/Benchmark.test.ts @@ -21,7 +21,7 @@ import { OPERATION_TYPES, PERMISSIONS, CALLTYPE, - LSP8_TOKEN_ID_SCHEMA, + LSP8_TOKEN_ID_FORMAT, LSP4_TOKEN_TYPES, } from '../constants'; import { LSP6TestContext } from './utils/context'; @@ -144,7 +144,7 @@ describe('⛽📊 Gas Benchmark', () => { 'MNFT', accounts[0].address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.NUMBER, + LSP8_TOKEN_ID_FORMAT.NUMBER, ); const lsp8DeployTransaction = lsp8Mintable.deployTransaction; @@ -564,7 +564,7 @@ describe('⛽📊 Gas Benchmark', () => { 'MNFT', context.mainController.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); universalProfile1 = await new UniversalProfile__factory(context.mainController).deploy( @@ -718,7 +718,7 @@ describe('⛽📊 Gas Benchmark', () => { 'MNF', context.mainController.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); // mint some tokens to the UP @@ -921,7 +921,7 @@ describe('⛽📊 Gas Benchmark', () => { 'MNF', context.mainController.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); lsp8LyxPunks = await new LSP8Mintable__factory(context.mainController).deploy( @@ -929,7 +929,7 @@ describe('⛽📊 Gas Benchmark', () => { 'LPK', context.mainController.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); [ diff --git a/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.behaviour.ts b/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.behaviour.ts index e9759c0e7..9a3e9647f 100644 --- a/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.behaviour.ts +++ b/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.behaviour.ts @@ -35,7 +35,7 @@ import { INTERFACE_IDS, OPERATION_TYPES, LSP1_TYPE_IDS, - LSP8_TOKEN_ID_SCHEMA, + LSP8_TOKEN_ID_FORMAT, LSP4_TOKEN_TYPES, } from '../../constants'; @@ -1789,7 +1789,7 @@ export const shouldBehaveLikeLSP1Delegate = ( 'TA', context.accounts.random.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); lsp8TokenB = await new LSP8Tester__factory(context.accounts.random).deploy( @@ -1797,7 +1797,7 @@ export const shouldBehaveLikeLSP1Delegate = ( 'TB', context.accounts.random.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); lsp8TokenC = await new LSP8Tester__factory(context.accounts.random).deploy( @@ -1805,7 +1805,7 @@ export const shouldBehaveLikeLSP1Delegate = ( 'TA', context.accounts.random.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.UNIQUE_ID, + LSP8_TOKEN_ID_FORMAT.UNIQUE_ID, ); }); @@ -3130,7 +3130,7 @@ export const shouldBehaveLikeLSP1Delegate = ( 'MTK', context.universalProfile1.address, LSP4_TOKEN_TYPES.NFT, - LSP8_TOKEN_ID_SCHEMA.NUMBER, + LSP8_TOKEN_ID_FORMAT.NUMBER, ); // Mint token for UP1 await LSP8.mint(context.universalProfile1.address, '0x' + '0'.repeat(64), true, '0x'); diff --git a/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.behaviour.ts b/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.behaviour.ts index cd9a1cd62..13e997898 100644 --- a/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.behaviour.ts +++ b/tests/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.behaviour.ts @@ -24,7 +24,7 @@ import { INTERFACE_IDS, OPERATION_TYPES, LSP1_TYPE_IDS, - LSP8_TOKEN_ID_SCHEMA, + LSP8_TOKEN_ID_FORMAT, LSP4_TOKEN_TYPES, } from '../../constants'; import { callPayload, getLSP5MapAndArrayKeysValue } from '../utils/fixtures'; @@ -1175,7 +1175,7 @@ export const shouldBehaveLikeLSP1Delegate = (buildContext: () => Promise Promise Promise Promise Promise Promise { - it('should not allow to update the `lsp8TokenIdSchema` after deployment', async () => { + it('should not allow to update the `lsp8TokenIdFormat` after deployment', async () => { await expect( - context.lsp8CompatibleERC721.setData(ERC725YDataKeys.LSP8.LSP8TokenIdSchema, '0xdeadbeef'), - ).to.be.revertedWithCustomError(context.lsp8CompatibleERC721, 'LSP8TokenIdSchemaNotEditable'); + context.lsp8CompatibleERC721.setData(ERC725YDataKeys.LSP8.LSP8TokenIdFormat, '0xdeadbeef'), + ).to.be.revertedWithCustomError(context.lsp8CompatibleERC721, 'LSP8TokenIdFormatNotEditable'); }); }); describe('when setting data', () => { - it('should not allow to update the `lsp8TokenIdSchema` after deployment', async () => { + it('should not allow to update the `lsp8TokenIdFormat` after deployment', async () => { await expect( - context.lsp8CompatibleERC721.setData(ERC725YDataKeys.LSP8.LSP8TokenIdSchema, '0xdeadbeef'), - ).to.be.revertedWithCustomError(context.lsp8CompatibleERC721, 'LSP8TokenIdSchemaNotEditable'); + context.lsp8CompatibleERC721.setData(ERC725YDataKeys.LSP8.LSP8TokenIdFormat, '0xdeadbeef'), + ).to.be.revertedWithCustomError(context.lsp8CompatibleERC721, 'LSP8TokenIdFormatNotEditable'); }); }); diff --git a/tests/LSP8IdentifiableDigitalAsset/LSP8Enumerable.behaviour.ts b/tests/LSP8IdentifiableDigitalAsset/LSP8Enumerable.behaviour.ts index c7e52c599..0e9d123ca 100644 --- a/tests/LSP8IdentifiableDigitalAsset/LSP8Enumerable.behaviour.ts +++ b/tests/LSP8IdentifiableDigitalAsset/LSP8Enumerable.behaviour.ts @@ -19,7 +19,7 @@ export type LSP8EnumerableDeployParams = { symbol: string; newOwner: string; lsp4TokenType: number; - lsp8TokenIdSchema: number; + lsp8TokenIdFormat: number; }; export type LSP8EnumerableTestContext = { diff --git a/tests/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.behaviour.ts b/tests/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.behaviour.ts index dcfca19c7..95a9abc4f 100644 --- a/tests/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.behaviour.ts +++ b/tests/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.behaviour.ts @@ -45,7 +45,7 @@ export type LSP8DeployParams = { symbol: string; newOwner: string; lsp4TokenType: number; - lsp8TokenIdSchema: number; + lsp8TokenIdFormat: number; }; export type LSP8TestContext = { @@ -73,18 +73,18 @@ export const shouldBehaveLikeLSP8 = ( }); describe('when setting data', () => { - it('should not allow to update the `LSP8TokenIdSchema` after deployment', async () => { + it('should not allow to update the `LSP8TokenIdFormat` after deployment', async () => { await expect( - context.lsp8.setData(ERC725YDataKeys.LSP8.LSP8TokenIdSchema, '0xdeadbeef'), - ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdSchemaNotEditable'); + context.lsp8.setData(ERC725YDataKeys.LSP8.LSP8TokenIdFormat, '0xdeadbeef'), + ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdFormatNotEditable'); }); }); describe('when setting data', () => { - it('should not allow to update the `LSP8TokenIdSchema` after deployment', async () => { + it('should not allow to update the `LSP8TokenIdFormat` after deployment', async () => { await expect( - context.lsp8.setData(ERC725YDataKeys.LSP8.LSP8TokenIdSchema, '0xdeadbeef'), - ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdSchemaNotEditable'); + context.lsp8.setData(ERC725YDataKeys.LSP8.LSP8TokenIdFormat, '0xdeadbeef'), + ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdFormatNotEditable'); }); }); @@ -109,21 +109,23 @@ export const shouldBehaveLikeLSP8 = ( it('Token contract owner can set data', async () => { await expect( - context.lsp8.connect(context.accounts.owner).setTokenIdData(tokenId, dataKey, dataValue), + context.lsp8.connect(context.accounts.owner).setDataForTokenId(tokenId, dataKey, dataValue), ).to.not.be.reverted; - expect(await context.lsp8.getTokenIdData(tokenId, dataKey)).to.equal(dataValue); + expect(await context.lsp8.getDataForTokenId(tokenId, dataKey)).to.equal(dataValue); }); it('Random address cannot set data', async () => { await expect( - context.lsp8.connect(context.accounts.anyone).setTokenIdData(tokenId, dataKey, dataValue), + context.lsp8 + .connect(context.accounts.anyone) + .setDataForTokenId(tokenId, dataKey, dataValue), ).to.be.revertedWithCustomError(context.lsp8, 'OwnableCallerNotTheOwner'); }); it('TokenIdDataChanged emitted when data is set for a specific tokenId', async () => { await expect( - context.lsp8.connect(context.accounts.owner).setTokenIdData(tokenId, dataKey, dataValue), + context.lsp8.connect(context.accounts.owner).setDataForTokenId(tokenId, dataKey, dataValue), ) .to.emit(context.lsp8, 'TokenIdDataChanged') .withArgs(tokenId, dataKey, dataValue); @@ -132,48 +134,50 @@ export const shouldBehaveLikeLSP8 = ( it('Token contract owner can set data for a specific tokenId and get data', async () => { await context.lsp8 .connect(context.accounts.owner) - .setTokenIdData(tokenId, dataKey, dataValue); - expect(await context.lsp8.getTokenIdData(tokenId, dataKey)).to.equal(dataValue); + .setDataForTokenId(tokenId, dataKey, dataValue); + expect(await context.lsp8.getDataForTokenId(tokenId, dataKey)).to.equal(dataValue); }); it('Token contract owner can set batch of data for a specific tokenId and get batch of data', async () => { await context.lsp8 .connect(context.accounts.owner) - .setTokenIdDataBatch(tokenIds, dataKeys, dataValues); - expect(await context.lsp8.getTokenIdDataBatch(tokenIds, dataKeys)).to.deep.equal(dataValues); + .setDataBatchForTokenIds(tokenIds, dataKeys, dataValues); + expect(await context.lsp8.getDataBatchForTokenIds(tokenIds, dataKeys)).to.deep.equal( + dataValues, + ); }); it('Token contract owner cannot set inconsistent length of data', async () => { await expect( context.lsp8 .connect(context.accounts.owner) - .setTokenIdDataBatch(tokenIds, dataKeys, [dataValue]), + .setDataBatchForTokenIds(tokenIds, dataKeys, [dataValue]), ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdsDataLengthMismatch'); }); it('Token contract owner cannot set empty batch of data', async () => { await expect( - context.lsp8.connect(context.accounts.owner).setTokenIdDataBatch([], [], []), + context.lsp8.connect(context.accounts.owner).setDataBatchForTokenIds([], [], []), ).to.be.revertedWithCustomError(context.lsp8, 'LSP8TokenIdsDataEmptyArray'); }); it('Token contract owner can set and change data for a specific tokenId and get data', async () => { await context.lsp8 .connect(context.accounts.owner) - .setTokenIdData(tokenId, dataKey, dataValue); + .setDataForTokenId(tokenId, dataKey, dataValue); const anotherDataValue = ethers.utils.hexlify(ethers.utils.randomBytes(256)); await context.lsp8 .connect(context.accounts.owner) - .setTokenIdData(tokenId, dataKey, anotherDataValue); - expect(await context.lsp8.getTokenIdData(tokenId, dataKey)).to.equal(anotherDataValue); + .setDataForTokenId(tokenId, dataKey, anotherDataValue); + expect(await context.lsp8.getDataForTokenId(tokenId, dataKey)).to.equal(anotherDataValue); }); it('TokenIdDataChanged emitted on each iteration when data is set for tokenIds', async () => { await expect( context.lsp8 .connect(context.accounts.owner) - .setTokenIdDataBatch(tokenIds, dataKeys, dataValues), + .setDataBatchForTokenIds(tokenIds, dataKeys, dataValues), ) .to.emit(context.lsp8, 'TokenIdDataChanged') .withArgs(tokenIds[0], dataKeys[0], dataValues[0]) @@ -2278,15 +2282,15 @@ export const shouldInitializeLikeLSP8 = ( .withArgs(lsp4TokenTypeKey, expectedTokenTypeValue); expect(await context.lsp8.getData(lsp4TokenTypeKey)).to.equal(expectedTokenTypeValue); - const lsp8TokenIdSchemaDataKey = ERC725YDataKeys.LSP8['LSP8TokenIdSchema']; + const lsp8TokenIdFormatDataKey = ERC725YDataKeys.LSP8['LSP8TokenIdFormat']; const expectedTokenIdDataValue = abiCoder.encode( ['uint256'], - [context.deployParams.lsp8TokenIdSchema], + [context.deployParams.lsp8TokenIdFormat], ); await expect(context.initializeTransaction) .to.emit(context.lsp8, 'DataChanged') - .withArgs(lsp8TokenIdSchemaDataKey, expectedTokenIdDataValue); - expect(await context.lsp8.getData(lsp8TokenIdSchemaDataKey)).to.equal( + .withArgs(lsp8TokenIdFormatDataKey, expectedTokenIdDataValue); + expect(await context.lsp8.getData(lsp8TokenIdFormatDataKey)).to.equal( expectedTokenIdDataValue, ); }); diff --git a/tests/LSP8IdentifiableDigitalAsset/LSP8Mintable.behaviour.ts b/tests/LSP8IdentifiableDigitalAsset/LSP8Mintable.behaviour.ts index e8af41d58..e5061c0d4 100644 --- a/tests/LSP8IdentifiableDigitalAsset/LSP8Mintable.behaviour.ts +++ b/tests/LSP8IdentifiableDigitalAsset/LSP8Mintable.behaviour.ts @@ -29,7 +29,7 @@ export type LSP8MintableDeployParams = { symbol: string; newOwner: string; lsp4TokenType: number; - lsp8TokenIdSchema: number; + lsp8TokenIdFormat: number; }; export type LSP8MintableTestContext = { diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8BurnableInit.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8BurnableInit.test.ts index d7b01b8f6..31259cc07 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8BurnableInit.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8BurnableInit.test.ts @@ -7,7 +7,7 @@ import { LSP8BurnableInitTester, LSP8BurnableInitTester__factory } from '../../. import { shouldInitializeLikeLSP8 } from '../LSP8IdentifiableDigitalAsset.behaviour'; import { deployProxy } from '../../utils/fixtures'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; type LSP8BurnableInitTestContext = { accounts: SignerWithAddress[]; @@ -17,7 +17,7 @@ type LSP8BurnableInitTestContext = { symbol: string; newOwner: string; lsp4TokenType: number; - lsp8TokenIdSchema: number; + lsp8TokenIdFormat: number; }; }; @@ -29,7 +29,7 @@ describe('LSP8BurnableInit with proxy', () => { symbol: 'BRN', newOwner: accounts[0].address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const lsp8BurnableImplementation = await new LSP8BurnableInitTester__factory( @@ -47,7 +47,7 @@ describe('LSP8BurnableInit with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, ); }; diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CappedSupplyInit.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CappedSupplyInit.test.ts index bc74500f6..1ea8ddf26 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CappedSupplyInit.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CappedSupplyInit.test.ts @@ -10,7 +10,7 @@ import { } from '../LSP8CappedSupply.behaviour'; import { deployProxy } from '../../utils/fixtures'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8CappedSupplyInit with proxy', () => { const buildTestContext = async () => { @@ -20,7 +20,7 @@ describe('LSP8CappedSupplyInit with proxy', () => { symbol: 'CAP', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, tokenSupplyCap: ethers.BigNumber.from('2'), }; const lsp8CappedSupplyInit = await new LSP8CappedSupplyInitTester__factory( @@ -38,7 +38,7 @@ describe('LSP8CappedSupplyInit with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, context.deployParams.tokenSupplyCap, ); }; diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CompatibleERC721Init.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CompatibleERC721Init.test.ts index 9f751f48f..6cd11fa7d 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CompatibleERC721Init.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8CompatibleERC721Init.test.ts @@ -14,7 +14,7 @@ import { } from '../LSP8CompatibleERC721.behaviour'; import { deployProxy } from '../../utils/fixtures'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8CompatibleERC721Init with proxy', () => { const buildTestContext = async (): Promise => { @@ -33,7 +33,7 @@ describe('LSP8CompatibleERC721Init with proxy', () => { symbol: 'NFT', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, lsp4MetadataValue, }; @@ -55,7 +55,7 @@ describe('LSP8CompatibleERC721Init with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, context.deployParams.lsp4MetadataValue, ); }; diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8EnumerableInit.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8EnumerableInit.test.ts index 0bd2e8c4e..0704123d5 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8EnumerableInit.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8EnumerableInit.test.ts @@ -9,7 +9,7 @@ import { } from '../LSP8Enumerable.behaviour'; import { deployProxy } from '../../utils/fixtures'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8EnumerableInit with proxy', () => { const buildTestContext = async () => { @@ -19,7 +19,7 @@ describe('LSP8EnumerableInit with proxy', () => { symbol: 'LSP8 NMRBL', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const LSP8EnumerableInit: LSP8EnumerableInitTester = @@ -37,7 +37,7 @@ describe('LSP8EnumerableInit with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, ); }; diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8IdentifiableDigitalAssetInit.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8IdentifiableDigitalAssetInit.test.ts index 47170638b..f70ea27e4 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8IdentifiableDigitalAssetInit.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8IdentifiableDigitalAssetInit.test.ts @@ -26,7 +26,7 @@ describe('LSP8IdentifiableDigitalAssetInit with proxy', () => { symbol: 'NFT', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: nftType, + lsp8TokenIdFormat: nftType, }; const lsp8TesterInit = await new LSP8InitTester__factory(accounts.owner).deploy(); @@ -59,7 +59,7 @@ describe('LSP8IdentifiableDigitalAssetInit with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, ); }; diff --git a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8MintableInit.test.ts b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8MintableInit.test.ts index 41134e3f3..4068d37fe 100644 --- a/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8MintableInit.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/proxy/LSP8MintableInit.test.ts @@ -10,7 +10,7 @@ import { } from '../LSP8Mintable.behaviour'; import { deployProxy } from '../../utils/fixtures'; -import { ERC725YDataKeys, LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { ERC725YDataKeys, LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8MintableInit with proxy', () => { const buildTestContext = async () => { @@ -20,7 +20,7 @@ describe('LSP8MintableInit with proxy', () => { symbol: 'MNTBL', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const LSP8MintableInit: LSP8MintableInit = await new LSP8MintableInit__factory( @@ -39,7 +39,7 @@ describe('LSP8MintableInit with proxy', () => { context.deployParams.symbol, context.deployParams.newOwner, context.deployParams.lsp4TokenType, - context.deployParams.lsp8TokenIdSchema, + context.deployParams.lsp8TokenIdFormat, ); }; @@ -53,7 +53,7 @@ describe('LSP8MintableInit with proxy', () => { expect(await lsp8MintableInit.getData(ERC725YDataKeys.LSP4.LSP4TokenSymbol)).to.equal('0x'); expect(await lsp8MintableInit.getData(ERC725YDataKeys.LSP4.LSP4Metadata)).to.equal('0x'); expect(await lsp8MintableInit.getData(ERC725YDataKeys.LSP4.LSP4TokenType)).to.equal('0x'); - expect(await lsp8MintableInit.getData(ERC725YDataKeys.LSP8.LSP8TokenIdSchema)).to.equal('0x'); + expect(await lsp8MintableInit.getData(ERC725YDataKeys.LSP8.LSP8TokenIdFormat)).to.equal('0x'); expect(await lsp8MintableInit.owner()).to.equal(ethers.constants.AddressZero); }); diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Burnable.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Burnable.test.ts index 44304d035..b30fdde24 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Burnable.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Burnable.test.ts @@ -4,7 +4,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { LSP8BurnableTester, LSP8BurnableTester__factory } from '../../../types'; import { shouldInitializeLikeLSP8 } from '../LSP8IdentifiableDigitalAsset.behaviour'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; type LSP8BurnableTestContext = { accounts: SignerWithAddress[]; @@ -14,7 +14,7 @@ type LSP8BurnableTestContext = { symbol: string; newOwner: string; lsp4TokenType: number; - lsp8TokenIdSchema: number; + lsp8TokenIdFormat: number; }; }; @@ -26,7 +26,7 @@ describe('LSP8Burnable with constructor', () => { symbol: 'BRN', newOwner: accounts[0].address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const lsp8Burnable = await new LSP8BurnableTester__factory(accounts[0]).deploy( @@ -34,7 +34,7 @@ describe('LSP8Burnable with constructor', () => { deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, ); return { accounts, lsp8Burnable, deployParams }; diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CappedSupply.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CappedSupply.test.ts index d269c75eb..fd8dc4f9f 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CappedSupply.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CappedSupply.test.ts @@ -8,7 +8,7 @@ import { LSP8CappedSupplyTestContext, getNamedAccounts, } from '../LSP8CappedSupply.behaviour'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8CappedSupply with constructor', () => { const buildTestContext = async () => { @@ -18,7 +18,7 @@ describe('LSP8CappedSupply with constructor', () => { symbol: 'CAP', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, tokenSupplyCap: ethers.BigNumber.from('2'), }; const lsp8CappedSupply = await new LSP8CappedSupplyTester__factory(accounts.owner).deploy( @@ -26,7 +26,7 @@ describe('LSP8CappedSupply with constructor', () => { deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, deployParams.tokenSupplyCap, ); diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CompatibleERC721.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CompatibleERC721.test.ts index b009e0bcc..0565ccd67 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CompatibleERC721.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8CompatibleERC721.test.ts @@ -8,7 +8,7 @@ import { shouldInitializeLikeLSP8CompatibleERC721, LSP8CompatibleERC721TestContext, } from '../LSP8CompatibleERC721.behaviour'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8CompatibleERC721 with constructor', () => { const buildTestContext = async (): Promise => { @@ -27,7 +27,7 @@ describe('LSP8CompatibleERC721 with constructor', () => { symbol: 'NFT', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, lsp4MetadataValue, }; @@ -38,7 +38,7 @@ describe('LSP8CompatibleERC721 with constructor', () => { deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, deployParams.lsp4MetadataValue, ); diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Enumerable.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Enumerable.test.ts index 98e9425fa..8d46626bb 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Enumerable.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Enumerable.test.ts @@ -6,7 +6,7 @@ import { LSP8EnumerableTestContext, getNamedAccounts, } from '../LSP8Enumerable.behaviour'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8Enumerable with constructor', () => { const buildTestContext = async () => { @@ -17,7 +17,7 @@ describe('LSP8Enumerable with constructor', () => { symbol: 'LSP8 NMRBL', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const lsp8Enumerable: LSP8EnumerableTester = await new LSP8EnumerableTester__factory( @@ -27,7 +27,7 @@ describe('LSP8Enumerable with constructor', () => { deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, ); return { accounts, lsp8Enumerable, deployParams }; diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8IdentifiableDigitalAsset.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8IdentifiableDigitalAsset.test.ts index 0b7553e19..d816c045d 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8IdentifiableDigitalAsset.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8IdentifiableDigitalAsset.test.ts @@ -19,7 +19,7 @@ import { LS4DigitalAssetMetadataTestContext, shouldBehaveLikeLSP4DigitalAssetMetadata, } from '../../LSP4DigitalAssetMetadata/LSP4DigitalAssetMetadata.behaviour'; -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; describe('LSP8IdentifiableDigitalAsset with constructor', () => { const buildTestContext = async (nftType: number): Promise => { @@ -29,14 +29,14 @@ describe('LSP8IdentifiableDigitalAsset with constructor', () => { symbol: 'NFT', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: nftType, + lsp8TokenIdFormat: nftType, }; const lsp8 = await new LSP8Tester__factory(accounts.owner).deploy( deployParams.name, deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, ); return { accounts, lsp8, deployParams }; @@ -44,7 +44,7 @@ describe('LSP8IdentifiableDigitalAsset with constructor', () => { const buildLSP4DigitalAssetMetadataTestContext = async (): Promise => { - const { lsp8 } = await buildTestContext(LSP8_TOKEN_ID_SCHEMA.NUMBER); + const { lsp8 } = await buildTestContext(LSP8_TOKEN_ID_FORMAT.NUMBER); const accounts = await ethers.getSigners(); const deployParams = { @@ -67,14 +67,14 @@ describe('LSP8IdentifiableDigitalAsset with constructor', () => { symbol: 'NFT', owner: accounts[0], lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const contract = await new LSP8Tester__factory(accounts[0]).deploy( deployParams.name, deployParams.symbol, deployParams.owner.address, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, ); return { accounts, contract, deployParams }; @@ -99,7 +99,7 @@ describe('LSP8IdentifiableDigitalAsset with constructor', () => { deployParams.symbol, ethers.constants.AddressZero, deployParams.lsp4TokenType, - LSP8_TOKEN_ID_SCHEMA.NUMBER, + LSP8_TOKEN_ID_FORMAT.NUMBER, ), ).to.be.revertedWithCustomError(contractToDeploy, 'OwnableCannotSetZeroAddressAsOwner'); }); diff --git a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Mintable.test.ts b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Mintable.test.ts index 19a12372d..33c998448 100644 --- a/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Mintable.test.ts +++ b/tests/LSP8IdentifiableDigitalAsset/standard/LSP8Mintable.test.ts @@ -1,4 +1,4 @@ -import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_SCHEMA } from '../../../constants'; +import { LSP4_TOKEN_TYPES, LSP8_TOKEN_ID_FORMAT } from '../../../constants'; import { LSP8Mintable, LSP8Mintable__factory } from '../../../types'; import { shouldInitializeLikeLSP8 } from '../LSP8IdentifiableDigitalAsset.behaviour'; @@ -17,7 +17,7 @@ describe('LSP8Mintable with constructor', () => { symbol: 'LSP8 MNTBL', newOwner: accounts.owner.address, lsp4TokenType: LSP4_TOKEN_TYPES.NFT, - lsp8TokenIdSchema: LSP8_TOKEN_ID_SCHEMA.NUMBER, + lsp8TokenIdFormat: LSP8_TOKEN_ID_FORMAT.NUMBER, }; const lsp8Mintable: LSP8Mintable = await new LSP8Mintable__factory(accounts.owner).deploy( @@ -25,7 +25,7 @@ describe('LSP8Mintable with constructor', () => { deployParams.symbol, deployParams.newOwner, deployParams.lsp4TokenType, - deployParams.lsp8TokenIdSchema, + deployParams.lsp8TokenIdFormat, ); return { accounts, lsp8Mintable, deployParams }; diff --git a/tests/foundry/GasTests/execute/RestrictedController.sol b/tests/foundry/GasTests/execute/RestrictedController.sol index 56b1ffda8..0ec384603 100644 --- a/tests/foundry/GasTests/execute/RestrictedController.sol +++ b/tests/foundry/GasTests/execute/RestrictedController.sol @@ -24,7 +24,7 @@ import { _PERMISSION_TRANSFERVALUE } from "../../../../contracts/LSP6KeyManager/LSP6Constants.sol"; import { - _LSP8_TOKENID_SCHEMA_NUMBER + _LSP8_TOKENID_FORMAT_NUMBER } from "../../../../contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol"; import "../UniversalProfileTestsHelper.sol"; @@ -447,7 +447,7 @@ contract ExecuteRestrictedController is UniversalProfileTestsHelper { "TSTLSP8", digitalAssetsOwner, _LSP4_TOKEN_TYPE_NFT, - _LSP8_TOKENID_SCHEMA_NUMBER + _LSP8_TOKENID_FORMAT_NUMBER ); bytes32 tokenID = bytes32(uint256(1)); diff --git a/tests/foundry/GasTests/execute/UnrestrictedController.sol b/tests/foundry/GasTests/execute/UnrestrictedController.sol index 103719fc0..8d84d0b29 100644 --- a/tests/foundry/GasTests/execute/UnrestrictedController.sol +++ b/tests/foundry/GasTests/execute/UnrestrictedController.sol @@ -22,7 +22,7 @@ import { _PERMISSION_SUPER_TRANSFERVALUE } from "../../../../contracts/LSP6KeyManager/LSP6Constants.sol"; import { - _LSP8_TOKENID_SCHEMA_NUMBER + _LSP8_TOKENID_FORMAT_NUMBER } from "../../../../contracts/LSP8IdentifiableDigitalAsset/LSP8Constants.sol"; import "../UniversalProfileTestsHelper.sol"; @@ -269,7 +269,7 @@ contract ExecuteUnrestrictedController is UniversalProfileTestsHelper { "TSTLSP8", digitalAssetsOwner, _LSP4_TOKEN_TYPE_NFT, - _LSP8_TOKENID_SCHEMA_NUMBER + _LSP8_TOKENID_FORMAT_NUMBER ); bytes32 tokenID = bytes32(uint256(1));