The StEth token is a rebaseable ERC-20 token and the BridgeStEth contract did tranfer the wrong methodology leading to this contract not receiving exactly the amount of token.
The BridgeRouterFacet has a deposit() function that allows a client to transfer a StETH token into a BridgeSteth contract.
The BridgeSteth contract will transfer from a msg.sender
by calls steth.tranferFrom
Following a document of Lido Finance that the StEth token is a rebaseable ERC-20 token (https://docs.lido.fi/guides/steth-integration-guide#what-is-steth)
The StEth of Lido Finance will re-calculate the amount of tokens that add shares while they are transferred.
So, the BridgeSteth uses the transferFrom function to transfer an amount of token which does not receive exactly the amount of token.
Manually
Implement support shares-on-transfer for the StEth token
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.