Investigate routing WarBow CL8Y fees through FeeRouter instead of 100% burn #217
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#217
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Today TimeCurve buys route the full gross accepted asset through
FeeRouter.distributeFees(canonical 30% LP / 40% burn / 20% podium / 0% team / 10% Rabbit — seedocs/onchain/fee-routing-and-governance.md).WarBow user-driven CL8Y pulls (
warbowSteal,warbowRevenge,warbowActivateGuard, including steal-limit bypass) bypassFeeRouterentirely: after balance-delta ingress, the contract transfers 100% of the pulled amount toBURN_SINK(0x…dEaD) and emitsWarBowCl8yBurnedfor accounting.This issue tracks an investigation (not an implementation commitment) into whether WarBow fees should instead follow the same FeeRouter split as buys — or a dedicated WarBow split — rather than burning all CL8Y to the dead address.
Current onchain behavior (reference)
_pullAcceptedExact→feeRouter.distributeFees(acceptedAsset, received)—TimeCurve.sol_buyleg._pullAcceptedExact→acceptedAsset.safeTransfer(BURN_SINK, …)— steal (incl. bypass), revenge, guard.buyFeeRoutingEnabledblocks both buy routing and WarBow CL8Y pulls (issue #55,INV-*invariants).docs/onchain/cl8y-flow-audit.md.TimeCurveWarBowCl8yBurns.t.sol(fuzz exact sink amounts; burn-sink caller guard #123).Fixed WarBow burn amounts (WAD, accepted asset)
(
claimWarBowFlaghas no CL8Y leg.)Questions to answer
Product / economics
Contracts
safeTransfer+feeRouter.distributeFeesper WarBow tx; (b) accumulate onTimeCurveand batch distribute; (c) separate router config / sink weights for WarBow-only.buyFeeRoutingEnabled,FeeRouterdistributable-token allowlist (#122), and ERC20 parity (#123).WarBowCl8yBurnedevents for indexer continuity or add parallelFeesRouted-style telemetry.Indexer / frontend
idx_timecurve_warbow_cl8y_burnedand WarBow action tables assume burn semantics today.Suggested deliverables
distributeFeeswiring for one WarBow action (no mainnet deploy).Out of scope (unless explicitly expanded)
Related
docs/product/primitives.md— WarBow burnsdocs/testing/invariants-and-business-logic.md— WarBow CL8Y burns (#70),buyFeeRoutingEnabled(#55)skills/play-timecurve-warbow/SKILL.mdImplemented & working, closed