PR: #27 (commit 4a9a6d3)
File: crates/charon-core/src/types.rs, lines 43-50
Charon targets BSC exclusively (v0.1 scope). Uniswap V3 has no canonical deployment on BSC mainnet. FlashLoanSource enum exposes a UniswapV3 variant that will never resolve to a real pool on the target chain. Correct BSC flash-swap source is PancakeSwap V3, with fee tiers 100 / 500 / 2500 / 10000 (2500 tier does not exist on Uniswap V3).
Risk: Executor branching on FlashLoanSource::UniswapV3 to build flash-swap calldata produces a transaction that reverts on BSC. No funds lost (revert), but bot cannot execute any swap-backed liquidation.
Fix:
- Rename
UniswapV3 → PancakeSwapV3.
- Update
SwapRoute.pool_fee comment to reflect PancakeSwap V3 tiers (100/500/2500/10000).
- Add
#[non_exhaustive] to FlashLoanSource.
PR: #27 (commit 4a9a6d3)
File: crates/charon-core/src/types.rs, lines 43-50
Charon targets BSC exclusively (v0.1 scope). Uniswap V3 has no canonical deployment on BSC mainnet.
FlashLoanSourceenum exposes aUniswapV3variant that will never resolve to a real pool on the target chain. Correct BSC flash-swap source is PancakeSwap V3, with fee tiers 100 / 500 / 2500 / 10000 (2500 tier does not exist on Uniswap V3).Risk: Executor branching on
FlashLoanSource::UniswapV3to build flash-swap calldata produces a transaction that reverts on BSC. No funds lost (revert), but bot cannot execute any swap-backed liquidation.Fix:
UniswapV3→PancakeSwapV3.SwapRoute.pool_feecomment to reflect PancakeSwap V3 tiers (100/500/2500/10000).#[non_exhaustive]toFlashLoanSource.