Batch Deposit Router
The BatchDepositRouter is used to deposit tokens directly into a strategy from a user's wallet without making any trades. All functions other than
deposit() will revert.#
deposit() function takes an amount valued in WETH that the account wants to deposit. It then calculates the expected amount for each token in a Strategy and calls
transferFrom on the token to transfer the amount from the user wallet to the Strategy contract. For this to work, the user must
approve() the router for each token in the strategy and also have sufficient balances of each token for the transfers to succeed.