KittyConnect::bridgeNftToAnotherChain
does not update KittyConnect::s_catInfo
storage variable after rearranging elements in KittyConnect::s_ownerToCatsTokenId
. As a result, KittyConnect::getCatInfo
returns inaccurate data.
While KittyConnect::bridgeNftToAnotherChain
takes care of removing the bridged NFT tokenId
from KittyConnect::s_ownerToCatsTokenId
and replacing it with the last tokenId added to said array (when applicable), it fails to update KittyConnect::s_catInfo
(for the moved tokenId) to keep track of the new index position.
As a result, after bridging an NFT, the function KittyConnect::getCatInfo
may return inaccurate data.
KittyConnect::getCatInfo
may return the wrong idx
value for the provided tokenId
.
Manual review.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.