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