diff --git a/onchain/src/Stake.sol b/onchain/src/Stake.sol index b91b9f5..0557df8 100644 --- a/onchain/src/Stake.sol +++ b/onchain/src/Stake.sol @@ -323,12 +323,12 @@ contract Stake { /// @dev Pays the due taxes based on the TAX_FLOOR_DURATION and returns the remaining assets to the position owner. function exitPosition(uint256 positionId) external { StakingPosition storage pos = positions[positionId]; - if (pos.owner != msg.sender) { - revert NoPermission(msg.sender, pos.owner); - } if (pos.creationTime == 0) { revert PositionNotFound(positionId, msg.sender); } + if (pos.owner != msg.sender) { + revert NoPermission(msg.sender, pos.owner); + } // to prevent snatch-and-exit grieving attack, pay TAX_FLOOR_DURATION _payTax(positionId, pos, TAX_FLOOR_DURATION); _exitPosition(positionId, pos);