Function: deposit(address receiver, DepositParams depositParams, byte[] depositParamsSignature)
This deposits funds into the vault, with a signature from Definitive minting shares to a specific address.
Inputs
receiverConstraints: None. None are necessary as the funds come from the sender.
Impact: The funds are deposited under this account.
depositParamsConstraints: None enforced here but must be signed by Definitive.
Impact: Controls what tokens and in what amounts to deposit into the strategy.
depositParamsSignatureConstraints: Must be a matching signature to
depositParams.Impact: Used to verify
depositParams.
Branches and code coverage
Intended branches
The right number of shares is minted to the right address.
Negative behavior
Reverts if
depositParamsis not properly signed.Reverts if the deadline is passed.
Reverts if in Safe Harbor Mode.
Reverts if TLV limit is not within limits after transaction.
Reverts if the change in ratio to shares is too large.
Reverts if the depositor does not have enough funds.
Reverts if there are too many transfers per block.