Streets::unstake uses oneShotContract::transferFrom instead of safeTransferFrom which could lead to a permanent loss of tokens
Within the Streets::unstake function scope, the transfer of user staked tokens using oneShotContract.transferFrom possesses a loss of token threat for the sake of saving gas.
Possible loss of ERC721 tokens that were staked.
Proof of Concept:
Manual Review
The OpenZeppelin's documentation encourages the use of safeTransferFrom so that the receiving address if a contract must be ERC721TokenReceiver compliant to receive ERC721
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.