Attackers can drain users over time by donating negligible ERC20 amount
In the Console automation model, a strategy shall keep executing until its trigger check fails. For DCA strategies, the swapping trigger is defined as:\\n```\\n      function canInitSwap(address subAccount, address inputToken, uint256 interval, uint256 lastSwap)\\n          external view returns (bool)\\n        {\\n      if (hasZeroBalance(subAccount, inputToken)) \\n          { return false;\\n        }\\n      return ((lastSwap + interval) < block.timestamp);\\n      }\\n```\\n
Define a DUST_AMOUNT, below that amount exit is allowed, while above that amount swap execution is allowed. User should only stand to gain from another party donating ERC20 tokens to their account.
```\\n      function canInitSwap(address subAccount, address inputToken, uint256 interval, uint256 lastSwap)\\n          external view returns (bool)\\n        {\\n      if (hasZeroBalance(subAccount, inputToken)) \\n          { return false;\\n        }\\n      return ((lastSwap + interval) < block.timestamp);\\n      }\\n```\\n