★ Flash-loanable voting weight
JustLend DAO's assessment for RD-F-036 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
Not flash-loanable. GovernorBravoDelegate uses wjst.getPriorVotes(voter, proposal.startBlock) — checkpoint at past block, not live balance. WJST (Comp.sol) implements full Compound-style checkpoint with getPriorVotes() binary search over stored checkpoints. Flash loans in current block cannot affect prior-block snapshots. Beanstalk-class attack not possible.
Sources #
- GitHubJustLend Comp.sol (WJST) — checkpoint voting mechanismComp.sol (WJST): implements getPriorVotes(address account, uint blockNumber) with binary search over stored checkpoints array. _moveDelegates() updates checkpoints on transfer. Checkpoints are historical snapshots, immune to flash loan manipulation.retrieved 2026-05-17
- JustLend GovernorBravoDelegate.sol — voting checkpoint mechanismGovernorBravoDelegate.sol: uint96 votes = wjst.getPriorVotes(voter, proposal.startBlock) — uses historical checkpoint at proposal start block, not live balance.retrieved 2026-05-17
Methodology #
Determine whether governance voting power is a function of current token balance of a transferable token with no lock or checkpoint, making it flash-loan susceptible.
See the full factor methodology and distribution across all protocols →