AuraSpell#openPositionFarm fails to return all rewards to user
When a user adds to an existing position on AuraSpell, the contract burns their current position and remints them a new one. The issues is that WAuraPool will send all reward tokens to the contract but it only sends Aura back to the user, causing all other rewards to be lost.\\n```\\n    for (uint i = 0; i < rewardTokens.length; i++) {\\n        IERC20Upgradeable(rewardTokens[i]).safeTransfer(\\n            msg.sender,\\n            rewards[i]\\n        );\\n    }\\n```\\n\\nInside WAuraPools#burn reward tokens are sent to the user.\\n```\\n    IBank.Position memory pos = bank.getCurrentPositionInfo();\\n    if (pos.collateralSize > 0) {\\n        (uint256 pid, ) = wAuraPools.decodeId(pos.collId);\\n        if (param.farmingPoolId != pid)\\n            revert Errors.INCORRECT_PID(param.farmingPoolId);\\n        if (pos.collToken != address(wAuraPools))\\n            revert Errors.INCORRECT_COLTOKEN(pos.collToken);\\n        bank.takeCollateral(pos.collateralSize);\\n        wAuraPools.burn(pos.collId, pos.collateralSize);\\n        _doRefundRewards(AURA);\\n    }\\n```\\n\\nWe see above that the contract only refunds Aura to the user causing all other extra reward tokens received by the contract to be lost to the user.
WAuraPool returns the reward tokens it sends. Use this list to refund all tokens to the user
User will lose all extra reward tokens from their original position
```\\n    for (uint i = 0; i < rewardTokens.length; i++) {\\n        IERC20Upgradeable(rewardTokens[i]).safeTransfer(\\n            msg.sender,\\n            rewards[i]\\n        );\\n    }\\n```\\n