My main concern is with approvals an owner can revoke and give another operator the approval in order to process the redemption request. In the context of RWA assets redemption lead times could be hours to weeks if not longer and having the owner locked into a specific operator is problematic.
I see two potential ways forward, one is with approvals as already discussed or alternatively a nested mapping where the owner stores the operator e.g
function pendingRequestRedeem(address owner, address operator) returns (uint256 shares)
this way an owner can go back and change the operator that would service their redemption once it becomes claimable.
That is fine in our case we see using both but as long as the EIP requirement is fulfilled I don’t see any harm in protocols extending the standard further (lol) to support differing use cases.
If you folks need any help with writing the reference implementation let me know, Maple are heavy users of the 4626 vaults already (with async flows) and would be happy to contribute to getting this across the line.