Contracts: DOUB prize split (70%) + AdminSellVault (30%) #249
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#249
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?
Context
Per-buy DOUB prize routing and admin sell vault. Parent epic: #238.
Relevant files
contracts/src/PodiumVaults.solor modules in TimeArenacontracts/src/AdminSellVault.soldocs/integrations/kumbaya.mdAcceptance criteria
AdminSellVaultAdminSellVault.sellDoubToUsdm(minOut)— only admin; USDM to admin accountPodiumFunded,SeedFunded,AdminVaultFundedVerification checklist
AnvilKumbayaFixturemarked as related to #238
mentioned in issue #238
mentioned in issue #261
marked as related to #261
Implementation summary
ArenaBuyRouting+ vault funding;AdminSellVault.sellDoubToUsdm+ swap config.Acceptance criteria
Verification checklist
ArenaPrizeRouting.t.sol,test_buy_routes_doub_splitmentioned in commit
ee13b7371amentioned in commit
3f51eb08a5Verification complete (agent, worktree
issue/249-doub-prize-split)Verified GitLab #249 against
main@3f51eb0. Infra was not restarted.What was already implemented
ArenaBuyRouting.splitBuyAmount: 10% × 4 active + 7.5% × 4 seed + admin =amount - allocated(remainder →AdminSellVault).TimeArena._routeDoubPrizeSplit: transfers +PodiumFunded/SeedFunded/AdminVaultFunded.AdminSellVault.sellDoubToUsdm(minOut):onlyOwner, Kumbaya-styleexactInputSingle, USDM toadminAccount.What this verification pass added
contracts/test/AdminSellVault.t.sol: mockexactInputSingle+AnvilMockUSDM(fromAnvilKumbayaFixture) — closes the missing “admin sell mocked” checklist item.TimeArena.t.sol::test_buy_routes_doub_split: asserts funding events (4×100, 4×75, 300 admin) on a 1000 DOUB buy.ArenaPrizeRouting.t.sol::testFuzz_splitBuy_no_dust: fuzz conservation.INV-ADMIN-SELL-VAULT-249, crosslinks in fee-routing, kumbaya §249, play-time-arena-doub, guardrails §6.Forge
All matched tests passed.
Anvil smoke (read-only)
Registry
AdminSellVaultwired toTimeArenaonhttp://127.0.0.1:8545.Manual re-check checklist
forge test --match-contract AdminSellVaultforge test --match-test test_buy_routes_doub_splitforge test --match-contract ArenaPrizeRoutingbuy→ logs show 4×PodiumFunded, 4×SeedFunded, 1×AdminVaultFundedAdminSellVaultDOUB ≈ 30% of cumulative gross;PodiumVaults≈ 70%sellDoubToUsdmon testnet/mainnet with real Kumbaya routerAll #249 acceptance criteria satisfied in code + Forge; closing.
mentioned in issue #300
mentioned in merge request !440