From c14e9df9445093c8ad531c30afc53fa9cb6d9599 Mon Sep 17 00:00:00 2001 From: owen05 Date: Tue, 14 Sep 2021 22:28:16 +0800 Subject: [PATCH] fix --- contracts/NFTPool/impl/FilterERC1155V1.sol | 1 + contracts/NFTPool/impl/FilterERC721V1.sol | 3 +++ 2 files changed, 4 insertions(+) diff --git a/contracts/NFTPool/impl/FilterERC1155V1.sol b/contracts/NFTPool/impl/FilterERC1155V1.sol index 99a4a28..5cbf06f 100644 --- a/contracts/NFTPool/impl/FilterERC1155V1.sol +++ b/contracts/NFTPool/impl/FilterERC1155V1.sol @@ -175,6 +175,7 @@ contract FilterERC1155V1 is IERC1155Receiver, BaseFilterV1 { _NFT_IDS_[index] = _NFT_IDS_[_NFT_IDS_.length - 1]; _NFT_IDS_.pop(); _TOKENID_IDX_[tokenId] = 0; + _TOKENID_IDX_[_NFT_IDS_[index]] = index + 1; } } diff --git a/contracts/NFTPool/impl/FilterERC721V1.sol b/contracts/NFTPool/impl/FilterERC721V1.sol index 5de302a..715f4a3 100644 --- a/contracts/NFTPool/impl/FilterERC721V1.sol +++ b/contracts/NFTPool/impl/FilterERC721V1.sol @@ -131,6 +131,7 @@ contract FilterERC721V1 is IERC721Receiver, BaseFilterV1 { _NFT_IDS_.pop(); _NFT_RESERVE_[tokenId] = 0; _TOKENID_IDX_[tokenId] = 0; + _TOKENID_IDX_[_NFT_IDS_[index]] = index + 1; } function emergencyWithdraw( @@ -152,6 +153,8 @@ contract FilterERC721V1 is IERC721Receiver, BaseFilterV1 { _NFT_IDS_[index] = _NFT_IDS_[_NFT_IDS_.length - 1]; _NFT_IDS_.pop(); _NFT_RESERVE_[tokenId] = 0; + _TOKENID_IDX_[tokenId] = 0; + _TOKENID_IDX_[_NFT_IDS_[index]] = index + 1; } IERC721(nftContract[i]).safeTransferFrom(address(this), to, tokenIds[i]); emit EmergencyWithdraw(nftContract[i],tokenIds[i],to);