修改用户token列表的返回数据

This commit is contained in:
cebgcontract 2022-08-04 17:31:25 +08:00
parent f2302b3076
commit 19e4114c80

View File

@ -13,11 +13,6 @@ contract BEChip1155 is ERC1155, AccessControl {
mapping(uint256 => bool) public lockedTokens; mapping(uint256 => bool) public lockedTokens;
struct TokenStruct {
uint256 tokenId;
uint256 amount;
}
mapping(address => uint256[]) private _ownedTokens; mapping(address => uint256[]) private _ownedTokens;
mapping(address => mapping(uint256 => uint256)) private _ownedTokensIndex; mapping(address => mapping(uint256 => uint256)) private _ownedTokensIndex;
@ -257,7 +252,7 @@ contract BEChip1155 is ERC1155, AccessControl {
address user, address user,
uint256 start, uint256 start,
uint256 page uint256 page
) external view returns (TokenStruct[] memory) { ) external view returns (uint256[] memory) {
uint256 size = _ownedTokens[user].length; uint256 size = _ownedTokens[user].length;
uint256 max = size; uint256 max = size;
uint256 pageSize = 0; uint256 pageSize = 0;
@ -269,14 +264,11 @@ contract BEChip1155 is ERC1155, AccessControl {
pageSize = size - start; pageSize = size - start;
} }
} }
TokenStruct[] memory results = new TokenStruct[](pageSize); uint256[] memory results = new uint256[](pageSize);
if (pageSize > 0) { if (pageSize > 0) {
for (uint256 i = start; i < max; ++i) { for (uint256 i = start; i < max; ++i) {
TokenStruct memory dataObj;
uint256 tokenId = _ownedTokens[user][i]; uint256 tokenId = _ownedTokens[user][i];
dataObj.tokenId = tokenId; results[i - start] = tokenId;
dataObj.amount = balanceOf(user, tokenId);
results[i - start] = dataObj;
} }
} }
return results; return results;