V2.1.1 — F-04 follow-up: multi-hop swap path
V2.1.1 — Soken F-04 follow-up
Previous tag: v2.1.0 — initial Soken APY-2026-06-001 remediation (16 findings)
Why V2.1.1
V2.1.0 의 F-04 fix (reward claim + auto-compound) 가 single-hop UniV3 swap (exactInputSingle) 만 지원했습니다. Compound mainnet fork probe (2026-06-25) 에서 COMP/USDC direct pool 유동성 부족으로 swap revert 발생. 다른 reward 토큰 (MORPHO 등) 도 비슷한 한계 예상.
V2.1.1 에서 multi-hop path 지원으로 fix.
Change Summary
| 영역 | 변경 |
|---|---|
BaseStrategy._swapAndReinvest |
uint24 poolFee → bytes calldata swapPath. exactInput(path) 사용 |
_validateSwapPath (신규) |
length + endpoint binding (rewardToken → USDC) |
Errors.InvalidPath (신규) |
잘못된 path layout / endpoint 거부 |
5 strategy claimAndCompound |
poolFee → swapPath 시그니쳐 변경 |
hardhat.config.ts |
viaIR: true (FluidStrategy stack 회피) |
Test coverage
test/v2/Strategy.claim.fork.spec.ts— Compound real Ethereum fork, 3 cases (multi-hop COMP→WETH→USDC e2e)test/v2/Strategy.claim.spec.ts— 5 strategy mock unit, 11 cases (claim path + onlyKeeper + InvalidPath)- Full mapping:
docs/SOKEN_AUDIT.md§F-04 follow-up
Verification at this tag
npx hardhat compile— 47 Solidity files OKnpx hardhat test— 103 passingFORK=true npx hardhat test test/v2/Strategy.claim.fork.spec.ts— 3 passing
Migration
V2.1.0 으로 배포된 vault 는 함수 시그니쳐 변경으로 호출 불가 → 폐기. V2.1.1 의 prod 배포 사이클은 Soken remediation review 통과 후 별도 진행.
Status
Awaiting Soken remediation review against this tag. PR #3.