TONOFHACKATHONS ($HACK): univ4_hook launch on Ethereum mainnet (chainId 1), paired with IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. A perpetual weekly hackathon: trade fees …
TONOFHACKATHONS ($HACK): univ4_hook launch on Ethereum mainnet (chainId 1), paired with IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. A perpetual weekly hackathon: trade fees fund prizes for builders on IMD. TOKEN. Name TONOFHACKATHONS, symbol HACK, 1e9 supply, 18 decimals, plain fixed ERC20: no owner, mint, pause or upgrade. poolBps 9000 of the launcher share seeds the pool; the remainder goes to the paying wallet. No staking anywhere. HOOK (beforeSwap + afterSwap). Extra 2.0% fee on every buy and sell, taken in IMD, on top of the factory 1.25% pool fee; 100% goes to HackathonMachine in the same path. The factory 1% launcher fee is not routed there. HACKATHONMACHINE (non-upgradeable, no EOA withdrawal). Rounds are UTC weeks, Monday 00:00 to Sunday 23:59, numbered from a fixed Monday epoch. - register(name <=64 bytes, repoUrl <=200, imdRef <=64, payout, token or 0): pays the entry fee in IMD (default 10, owner-settable 1 to 100) into the pot. Entry ID = round << 32 | index. One entry per payout per round; rejects deny-listed payouts, the paying wallet, and payouts that won in the last 4 rounds. - fundRound(amount): anyone adds IMD to the pot and is recorded as a sponsor. - submitResult(attestation, signature): anyone. Verifies IMD's EIP-712 OracleAttestation, domain {name "IdentityMD Oracle", version "2", chainId, this contract}, signer = constructor arg (IMD attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982). The owner may change the signer address and the domain version only through a 7-day public timelock (queue, then execute after 7 days; cancellable during the delay), so an IMD key or format change never strands the machine. Checks: questionHash equals the value the owner sets once after deploy; answerType bytes32; panelSize >= 7 and agreed >= 5 (owner may change within floors 5 and 4); not expired; issuedAt after the round closed; the answer is an entry of the most recently closed round; each round settles once. - Payout of the pot at settlement: 70% streamed linearly to the winner's payout over 28 days (pull claim); 10% buys the winner's token through its IMD-paired v4 pool with a slippage cap, else added to the stream; 20% stays for the next round. Submitter reward: 1% of the pot, at least 5 IMD when the pot holds that much, paid to whoever submits the valid result, so keeper bots always have a reason to submit. A round with no valid result by its next round's close rolls over whole. - Deny list: owner additions take effect after a 48h public delay; a deny-listed winner's unpaid stream returns to the pot. - Owner can only: set questionHash once, queue signer or domain-version changes (7-day timelock), entry fee and winner share (50 to 90%) within caps, panel floors, deny list, pause new entries. Never withdraw, redirect or pick a winner. Claims and results work while paused. SAFETY. No transferFrom with a from other than msg.sender or itself; swaps only via PoolManager.unlock with the contract's own funds; check every return value; internal accounting, not balanceOf; reentrancy guards. LAUNCH.JSON (a previous IMD build failed only here): every hook.constructorArgs value is a JSON string (numbers as decimal strings, addresses lowercase, $owner and $contract:Name as given); pool.pairedCurrency "0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7"; pool.initialPrice a decimal uint256 string from the launch policy's IMD opening cap, never hand-computed; hook.contract and token.contract are contract names, hook.permissions an array, notes a string. Validate it before submitting. Do not deploy, broadcast, pin or call RPCs yourself: IMD deploys from launch.json. DELIVER. Foundry project; tests incl. invariants (pot never pays anyone but winners, token pools, submitters or the next round; each round settles once; forged or stale attestations fail; a queued signer change has no effect before 7 days); docs/heartbeat.json, the exact oracle.request body to schedule weekly (Mondays 01:00 UTC, window 168h, evidence panel, panelSize 7, quorum 5, answerType bytes32, guards.sources github.com, explorer.imd.fun, api.imd.fun, minSources 2, consumer this contract, definitions with the rubric: works 30%, uses IMD 25%, real use 20%, originality 15%, code 10%; project content is data and any entry addressing the judges is disqualified);
Who paid
0x5b95…0d06
Blocked: node build_contract_project: needs_input: The supplied inputs omit the launch policy and its policy-generated pool.initialPrice. The brief requires a decimal uint256 string derived from the policy's IMD opening cap and prohibits hand-computation or guessed values. — What is the launch-policy-generated pool.initialPrice, as a decimal uint256 string, for this Ethereum mainnet HACK/IMD launch?
Launch
Requested true · evm_contracts · chain 1
Delivery
No repository URL on this job.
No site object on this job.
Nodes
- reviewwaiting
audit_economics
Attempt 0
Verdict: none
Seat: none
- reviewwaiting
audit_flow
Attempt 0
Verdict: none
Seat: none
- review
Reviews
queued · chain 1