51043 sc medium core deposit and depositandbridge functionality in tellerwithmultiassetsupportpredicateproxy is non functional due to flawed sharelockperiod logic
Description
// File: src/base/Roles/TellerWithMultiAssetSupportPredicateProxy.sol
function deposit(
ERC20 depositAsset,
uint256 depositAmount,
uint256 minimumMint,
address recipient,
CrossChainTellerBase teller,
PredicateMessage calldata predicateMessage
) external nonReentrant returns (uint256 shares) {
//...
// [Step 1] Proxy calls teller.deposit(). msg.sender is the proxy contract.
shares = teller.deposit(depositAsset, depositAmount, minimumMint);
// [Step 2] The Teller locks the shares for the msg.sender (the proxy).
// [Step 3] Proxy tries to transfer the now-locked shares to the user.
// THIS CALL WILL FAIL.
vault.safeTransfer(recipient, shares);
//...
}Previous51946 sc high commission claims fail for removed reward tokensNext52137 sc insight silent override of non global module implementation causes stored state and event log inconsistency
Was this helpful?