Delayed completion
What happens if auction completion is delayed after the auction period ends.
Scenario analysis
If nobody calls sweepCurrency() (and the token owner doesn’t configure the tax hook) after Day 7...
Funds are safe
User Safety:
-
Auction Participants Can Still Claim:
- After 7 days, auction automatically ends (by block number)
- Users can claim their ■AKITA tokens from the auction contract
- The
claim()function on CCA contract works independently - No completion needed for users to get their tokens
-
Creator's 25M ■AKITA:
- Already in creator's wallet from launch
- Not affected by auction completion
- Can be held, transferred, or used
-
ETH Raised:
- ⏳ Sits safely in the auction contract
- Cannot be stolen or lost
- Can be swept anytime later via
sweepCurrency()
-
■AKITA Tokens:
- Valid and transferable
- Can be unwrapped back to vault shares
- Can withdraw underlying AKITA from vault
- Fully functional even without V4 pool
What does not work
Without Completion:
-
No Trading Pool:
- ■AKITA/ETH V4 pool doesn't exist
- No public market for ■AKITA
- Users can't buy/sell ■AKITA on Uniswap
- Only OTC trades possible
-
No Fee Generation:
- 6.9% hook not enabled
- No fees collected for jackpot
- No burns happening
- No treasury funding
-
No Price Discovery (Post-Auction):
- No public market price
- Oracles can't reference pool
- Hard to value ■AKITA
-
Incomplete Launch:
- Auction succeeded but ecosystem not live
- Community expectation not met
- May confuse users
Can it be completed later
YES — with the correct permissions:
// In CCALaunchStrategy.sol
function sweepCurrency() external nonReentrant {
// No time restriction!
// Can be called days, weeks, or months later
}
Key Points:
- No deadline to sweep:
sweepCurrency()is permissionless - Hook config is not permissionless:
setTaxConfig(...)requires the ■AKITA token owner (or a configured delegate) - ETH will still be there in the auction until swept
- Pool can be created anytime
However:
- The longer you wait, the worse it looks
- Community may lose confidence
- Trading volume delayed = missed fees
- May need to re-announce pool launch
Recommended solutions
Option 1: Set Multiple Reminders (Easiest)
Day 6: "Auction ends tomorrow - prepare to complete"
Day 7: "COMPLETE AUCTION NOW"
Day 8: "Emergency: Complete auction ASAP"
Backup Plan:
- Give 2-3 trusted people access
- Share completion link with team
- Post in Discord for community help
Option 2: Make Completion Permissionless (Best)
Change the contract to allow anyone to complete after 7 days:
// In CCALaunchStrategy.sol
function sweepCurrency() external nonReentrant {
if (currentAuction == address(0)) revert NoActiveAuction();
IContinuousClearingAuction auction = IContinuousClearingAuction(currentAuction);
// Check if auction has ended
(, uint256 endBlock,,) = auction.auctionParameters();
if (block.number < endBlock) revert AuctionStillActive();
// Anyone can call after auction ends!
uint256 raised = auction.fundsRaised();
auction.sweepFunds();
// Optional: Send small incentive to caller
uint256 incentive = raised / 1000; // 0.1% of raised
if (incentive > 0) {
payable(msg.sender).transfer(incentive);
}
graduatedAuction = currentAuction;
isGraduated = true;
emit AuctionGraduated(currentAuction, raised, finalPrice);
}
Benefits:
- Anyone can complete (decentralized)
- Small incentive encourages quick completion
- No single point of failure
- Community can help
Option 3: Build Automated Keeper (Most Reliable)
Simple keeper bot that monitors and completes:
// keeper.ts
import { ethers } from 'ethers'
import { AKITA } from './config/contracts'
const provider = new ethers.JsonRpcProvider(process.env.BASE_RPC)
const wallet = new ethers.Wallet(process.env.KEEPER_PRIVATE_KEY, provider)
const ccaStrategy = new ethers.Contract(
AKITA.ccaStrategy,
CCA_STRATEGY_ABI,
wallet
)
async function checkAndComplete() {
try {
// Check auction status
const status = await ccaStrategy.getAuctionStatus()
if (!status.isActive && !status.isGraduated) {
console.log('Auction ended but not graduated. Completing...')
// Step 1: Sweep currency
const tx1 = await ccaStrategy.sweepCurrency()
await tx1.wait()
console.log('Currency swept')
// Step 2: Configure hook (if you're token owner)
const [hookTarget, hookData] = await ccaStrategy.getTaxHookCalldata()
const tx2 = await wallet.sendTransaction({
to: hookTarget,
data: hookData
})
await tx2.wait()
console.log('Hook configured')
console.log(' Auction completed successfully!')
} else {
console.log('Auction still active or already graduated')
}
} catch (error) {
console.error('Error:', error)
}
}
// Run every hour
setInterval(checkAndComplete, 60 * 60 * 1000)
Deploy on:
- Render.com (free)
- Railway.app (free)
- Your own server
- AWS Lambda (cheap)
Risk assessment
| Scenario | Risk Level | Impact | Mitigation |
|---|---|---|---|
| Delay 1 day | 🟡 Low | Minor community confusion | Post update, complete ASAP |
| Delay 1 week | 🟠 Medium | Lost trading fees, community upset | Apologize, complete, compensate early supporters |
| Delay 1 month | 🔴 High | Serious loss of confidence | Major communication needed, may need relaunch |
| Never complete | 🔴 Critical | Project appears abandoned | Users can still unwrap & withdraw, but ecosystem dead |
What you should do
Before Launch:
-
Build the keeper bot (2 hours of work)
- Set it up on Render.com
- Fund it with 0.1 ETH for gas
- Test it on testnet
-
Make completion permissionless (optional)
- Modify
sweepCurrency()to allow anyone - Add small incentive (0.1% of raised)
- Redeploy CCALaunchStrategy
- Modify
-
Set up monitoring
- Discord webhook for auction status
- Email alerts for day 6, 7, 8
- Multiple people notified
After Launch:
-
Monitor daily
- Check auction progress
- Watch for end time
- Be ready on day 7
-
Have backup plan
- Share completion link with 3 people
- Have community member on standby
- Keep gas funds ready
Financial impact of delay
Example: $10k raised in auction
| Delay | Lost Trading Fees | Community Impact |
|---|---|---|
| 1 day | ~$100 | Minimal |
| 1 week | ~$700 | Noticeable frustration |
| 1 month | ~$3,000 | Serious credibility damage |
Why fees matter:
- 6.9% of all trades go to jackpot/burns
- Early trading volume is highest (hype)
- Every day counts for fee generation
Summary
Users Are Safe:
- Can claim ■AKITA from auction
- Can unwrap to vault shares
- Can withdraw underlying AKITA
- No funds lost or locked
But Ecosystem Is Dead Until Completion:
- No trading pool
- No fees generated
- No public market
- Community disappointed
STRONGLY RECOMMEND:
- Build a keeper bot (best solution)
- Set multiple reminders (backup)
- Make it permissionless (safety net)
- Have 3 people ready (redundancy)
Conclusion
Can you launch safely? YES.
Will users lose funds if delayed? NO.
Should you have a backup plan? ABSOLUTELY.
Best solution? Build the keeper bot (takes 2 hours, runs forever).
Would you like me to build the keeper bot for you? It's a simple script that can run for free on Render.com.