From abecb451282b0afaa70f900d8586ea884fc071de Mon Sep 17 00:00:00 2001 From: YamenMerhi Date: Thu, 4 Apr 2024 12:10:01 +0300 Subject: [PATCH] refactor: use new data location for LSP8 tokenId data --- .../contracts/LSP8IdentifiableDigitalAssetCore.sol | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/lsp8-contracts/contracts/LSP8IdentifiableDigitalAssetCore.sol b/packages/lsp8-contracts/contracts/LSP8IdentifiableDigitalAssetCore.sol index ec8c4d32c..2190531a7 100644 --- a/packages/lsp8-contracts/contracts/LSP8IdentifiableDigitalAssetCore.sol +++ b/packages/lsp8-contracts/contracts/LSP8IdentifiableDigitalAssetCore.sol @@ -80,6 +80,9 @@ abstract contract LSP8IdentifiableDigitalAssetCore is // Mapping a `tokenId` to its authorized operator addresses. mapping(bytes32 => EnumerableSet.AddressSet) internal _operators; + // Mapping from `tokenId` to `dataKey` to `dataValue` + mapping(bytes32 => mapping(bytes32 => bytes)) internal _tokenIdData; + // --- Token queries /** @@ -683,7 +686,7 @@ abstract contract LSP8IdentifiableDigitalAssetCore is bytes32 dataKey, bytes memory dataValue ) internal virtual { - _store[keccak256(bytes.concat(tokenId, dataKey))] = dataValue; + _tokenIdData[tokenId][dataKey] = dataValue; emit TokenIdDataChanged(tokenId, dataKey, dataValue); } @@ -698,7 +701,7 @@ abstract contract LSP8IdentifiableDigitalAssetCore is bytes32 tokenId, bytes32 dataKey ) internal view virtual returns (bytes memory dataValues) { - return _store[keccak256(bytes.concat(tokenId, dataKey))]; + return _tokenIdData[tokenId][dataKey]; } /**