Refs #53
File: contracts/test/CharonLiquidatorFork.t.sol
Problem:
vBNB (native collateral redemption) is excluded from the fork test suite because issue #121 (vBNB native path broken) is not yet resolved. This is acceptable for now. However, the test file contains no skipped stub, no TODO comment, and no reference to #121. When #121 is resolved, the developer fixing it has no fork test scaffold to run, and no reminder that fork coverage is required.
This repeats the pattern that led to issue #123 (fork tests absent for the full liquidation flow) — a gap that this very PR is intended to close.
Impact:
vBNB is one of the highest-TVL Venus markets. A fix to #121 that is incorrect (wrong WBNB wrap path, wrong balance accounting) would merge without any fork-level validation. The existing unit tests do not exercise the native-BNB redeem path.
Fix:
Add a skipped stub in CharonLiquidatorFork.t.sol:
// TODO(#121): vBNB native collateral path — add fork coverage once #121 is resolved.
// vBNB address: 0xA07c5b74C9B40447a954e1466938b865b6BBea36
// vBNB redemption returns native BNB; requires WBNB wrap before exactInputSingle.
function test_fork_vBNB_SKIP() public {
vm.skip(true);
}
This makes the gap explicit and searchable.
Refs #53
File: contracts/test/CharonLiquidatorFork.t.sol
Problem:
vBNB (native collateral redemption) is excluded from the fork test suite because issue #121 (vBNB native path broken) is not yet resolved. This is acceptable for now. However, the test file contains no skipped stub, no TODO comment, and no reference to #121. When #121 is resolved, the developer fixing it has no fork test scaffold to run, and no reminder that fork coverage is required.
This repeats the pattern that led to issue #123 (fork tests absent for the full liquidation flow) — a gap that this very PR is intended to close.
Impact:
vBNB is one of the highest-TVL Venus markets. A fix to #121 that is incorrect (wrong WBNB wrap path, wrong balance accounting) would merge without any fork-level validation. The existing unit tests do not exercise the native-BNB redeem path.
Fix:
Add a skipped stub in CharonLiquidatorFork.t.sol:
// TODO(#121): vBNB native collateral path — add fork coverage once #121 is resolved.
// vBNB address: 0xA07c5b74C9B40447a954e1466938b865b6BBea36
// vBNB redemption returns native BNB; requires WBNB wrap before exactInputSingle.
function test_fork_vBNB_SKIP() public {
vm.skip(true);
}
This makes the gap explicit and searchable.