diff --git a/src/UniswapV3Manager.sol b/src/UniswapV3Manager.sol index 8c8b47d..cbdf616 100644 --- a/src/UniswapV3Manager.sol +++ b/src/UniswapV3Manager.sol @@ -185,7 +185,9 @@ contract UniswapV3Manager is IUniswapV3Manager { PoolAddress.computeAddress(factory, token0, token1, fee) ); } - + //You should understand that callback functions can invoke anybody and take all approved to manager SC assets. + //We do not verify caller here, but in production it must be. For example in UniswapV3Router we can see: + //CallbackValidation.verifyCallback(factory, tokenIn, tokenOut, fee); function uniswapV3MintCallback( uint256 amount0, uint256 amount1, diff --git a/src/UniswapV3NFTManager.sol b/src/UniswapV3NFTManager.sol index a0a2f14..7db0d1d 100644 --- a/src/UniswapV3NFTManager.sol +++ b/src/UniswapV3NFTManager.sol @@ -242,6 +242,9 @@ contract UniswapV3NFTManager is ERC721 { // CALLBACKS // //////////////////////////////////////////////////////////////////////////// + //You should understand that callback functions can invoke anybody and take all approved to manager SC assets. + //We do not verify caller here, but in production it must be. For example in UniswapV3Router we can see: + //CallbackValidation.verifyCallback(factory, tokenIn, tokenOut, fee); function uniswapV3MintCallback( uint256 amount0, uint256 amount1,