diff --git a/src/EVault/shared/Base.sol b/src/EVault/shared/Base.sol index ce74218d..fee4b895 100644 --- a/src/EVault/shared/Base.sol +++ b/src/EVault/shared/Base.sol @@ -70,7 +70,7 @@ abstract contract Base is EVCClient, Cache { snapshot.set(vaultCache.cash, vaultCache.totalBorrows.toAssetsUp()); } - account = EVCAuthenticateDeferred(~CONTROLLER_REQUIRED_OPS & operation == 0); + account = EVCAuthenticateDeferred(CONTROLLER_NEUTRAL_OPS & operation == 0); EVCRequireStatusChecks(accountToCheck == CHECKACCOUNT_CALLER ? account : accountToCheck); } diff --git a/src/EVault/shared/Constants.sol b/src/EVault/shared/Constants.sol index 8faa5905..f48bc2aa 100644 --- a/src/EVault/shared/Constants.sol +++ b/src/EVault/shared/Constants.sol @@ -50,5 +50,6 @@ uint32 constant CFG_ONLY_ASSET_CAN_DEPOSIT = 1 << 2; // EVC authentication -// in order to perform these operations, the account must have the vault installed as a controller -uint32 constant CONTROLLER_REQUIRED_OPS = OP_BORROW | OP_LOOP | OP_PULL_DEBT | OP_LIQUIDATE; +// in order to perform these operations, the account doesn't need to have the vault installed as a controller +uint32 constant CONTROLLER_NEUTRAL_OPS = OP_DEPOSIT | OP_MINT | OP_WITHDRAW | OP_REDEEM | OP_TRANSFER | OP_SKIM + | OP_REPAY | OP_DELOOP | OP_CONVERT_FEES | OP_FLASHLOAN | OP_TOUCH | OP_ACCRUE_INTEREST;