Skip to content

fix async withdrawal gas fee: forward msg.value only, settle state before eth send#1

Open
mooncitydev wants to merge 1 commit into
LedgityLabs:devfrom
mooncitydev:fix/request-withdrawal-eth-forwarding
Open

fix async withdrawal gas fee: forward msg.value only, settle state before eth send#1
mooncitydev wants to merge 1 commit into
LedgityLabs:devfrom
mooncitydev:fix/request-withdrawal-eth-forwarding

Conversation

@mooncitydev
Copy link
Copy Markdown

hey team, noticed something odd on requestWithdrawal while reading next to LToken.

LedgityYieldVault was doing feeRecipient.call with address(this).balance. So anything else sitting on the vault in wei (forced ETH, coinbase, leftover weirdness) went to the fee recipient together with the users prepaid fee. Same tx still looked fine if the vault had zero extra wei, which is probably why it slipped through.

v1 LToken.requestWithdrawal already forwards msg.value only, so this brings v2 in line and avoids sweeping unrelated balance.

Also moved the eth transfer to after the burn and the queue write so we are not doing an external call with value before the main state updates (same pattern as sticking transfers last).

Added a small unit test that vm.deals stray wei onto the vault and checks the recipient only gets the attached gas fee.

cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant