{"rewardSnapshot":null,"merkleRoot":null,"claims":null,"id":"ffd8f76a-484d-4366-b1d6-a3100b9766e4","launchNumber":2223,"kind":"evm_contracts","status":"live","chainId":4663,"sourceRepoUrl":"https://github.com/identity-md-launches/launch-2223-src-askswarmregistry-sol-src-swarmmarket","sourceCommit":"712164b6f0121e093dfcd97b2925036becf6019b","parkedReason":null,"artifactCount":3,"manifestHash":"fe918cd475e71ce961c73b2379742fbc98183b75a3903d2f673503ddd9e4198b","attestationHash":"98026aaa7018ac4783c56eabef18bc452a1c1203775d17b5c7beb3905652f675","attestation":{"treeHash":"10b58bd80c30e8d4ebcc69d73fba9d03118acca6","verifierVersion":"0.1.0+a6ee6548","verifierKey":"68249df1f422fa72f61ca7f0ddaf9b62043959c5c134498441d5e552a9921782","toolchain":{"solc":"0.8.26","forge":"forge Version: 1.8.3","viaIR":true,"optimizer":true,"evmVersion":"cancun","bytecodeHash":"none","optimizerRuns":2000},"contracts":[{"name":"AskSwarmRegistry","path":"src/AskSwarmRegistry.sol","abiHash":"e2150deb3aeeabac14603cc6d32141fe3f83aee22dc26ea3fe9ce621f170fb36","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"f89ac6232b838af7b2177d3b450cb4410caa60a2287fb38da4179dcec56e1147","creationCodeHash":"d1693b26ce78cdf6d1d8798854f6d399dfd6e03175d31e1dde6bc443bdca726f","deployedCodeHash":"170c3c5fe851c68f2dde8d12528b629acd0445b6656953176183b35fc987a636","creationCodeBytes":10743,"deployedCodeBytes":10226},{"name":"SwarmMarket","path":"src/SwarmMarket.sol","abiHash":"080dfb51d682fbf482583c19867fdd2456a8d6f4adb3b090ba5be252a13f1e29","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"252bdf82a9292cc702ffb712461d6f5f381abf9d3a216c9aa1920783f5bade92","creationCodeHash":"1a28bff6770525db6b34867b0c6b6db55aed010c1810cbb3bb01fd4f95682d78","deployedCodeHash":"c5c168e6a7c577f868197542b98714b394ec5b78025d93108778dfa61b3634a5","creationCodeBytes":9837,"deployedCodeBytes":9524},{"name":"SwarmWager","path":"src/SwarmWager.sol","abiHash":"7327a1c5a2bf05a2e7a2ca85caf47a267f828813bd19bcec750eb7ed97839458","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"bcf2ad22c3a5698e511aa6d57c6506261194c9d9c6536a86f7f2df1392cf68f1","creationCodeHash":"a7abe88c2c118e112770aec37f8ad93f26cf119f9614f0097eaabe3db4e3325a","deployedCodeHash":"9df32f2e5e522031152bc5989832253101aa78506b184f4970a591d08c53ab6b","creationCodeBytes":8315,"deployedCodeBytes":8059}],"manifest":{"kind":"evm_contracts","notes":"Deploys the three accepted AskSwarm contracts on Robinhood Chain (chain id 4663) in constructor dependency order, unchanged from the audited Ethereum mainnet launches (#2099 AskSwarmRegistry, #2190 SwarmMarket, #2189 SwarmWager). 1. AskSwarmRegistry (src/AskSwarmRegistry.sol) constructor (intake, imd, signer): Intake v2 0xa43e6f75ee006411f79ac1c84120606c2330de82 and the oracle attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982 are the same on Robinhood Chain; 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127 is the IMD token on Robinhood Chain. Each ask pulls Intake's current IMD price, approves exactly that amount and forwards it through requestWithFailure with the registry as callback. Attestations are verified under the registry's own EIP-712 domain (chain id 4663, the registry's address, the configured signer), require agreed >= quorum and a strict majority, and are stored by questionHash. 2. SwarmMarket (src/SwarmMarket.sol) constructor (registry, imd, treasury): registry is $contract:AskSwarmRegistry, imd is the same Robinhood Chain IMD token, treasury is AskSwarm's operating wallet 0x571e17b13d8f6492bbc372a160520b20bfda320c as the brief states, which pays for free asks and receives its share of the 2% fee on the losing pool (split creator/treasury). Markets are parimutuel yes/no, settled only from the registry's verified bool answers, with a 1h resolve window and a void (full refund) on any non-answer. 3. SwarmWager (src/SwarmWager.sol) constructor (registry, imd): 1v1 yes/no bets settled from the same registry answers. All three constructors are nonpayable, make no external calls and create no child contract, so they deploy on an empty chain through one factory call. None of the contracts has an owner, admin, pauser, upgrade path, proxy, DELEGATECALL, SELFDESTRUCT, initialization call or ETH handling; all dependencies are immutable and cannot be rotated after deployment. No token, pool, $owner argument, reward distributor or ETH funding is part of this launch. Intake and its writer remain trusted to pair pending requests with attestations; readers must check answer freshness and panel strength.","contracts":[{"contract":"AskSwarmRegistry","constructorArgs":["0xa43e6f75ee006411f79ac1c84120606c2330de82","0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127","0x5598aa9146215bc13eb26f2c692ad1461fd32982"]},{"contract":"SwarmMarket","constructorArgs":["$contract:AskSwarmRegistry","0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127","0x571e17b13d8f6492bbc372a160520b20bfda320c"]},{"contract":"SwarmWager","constructorArgs":["$contract:AskSwarmRegistry","0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127"]}]},"manifestError":null},"attestationFailure":null,"deployFailure":null,"policyVersion":28,"economics":null,"poolFee":null,"requester":"0x571e17b13d8f6492bbc372a160520b20bfda320c","admissionChecks":[{"name":"provenance","detail":"9 node(s) accepted at 712164b6","status":"passed"},{"name":"findings","detail":"9 accepted submission(s), no unresolved blocking findings","status":"passed"},{"name":"independent_review","detail":"1 independent review(s)","status":"passed"},{"name":"bytecode","detail":"3 contract(s) clean and reproducible","status":"passed"},{"name":"manifest","detail":"3 application contracts; no protocol token or pool","status":"passed"},{"name":"protected_invariants","detail":"invariants-9c691c05ee3c: Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 945.40µs (786.27µs CPU time)","status":"passed"},{"name":"economics","detail":"policy explicitly selects no on-chain contributor rewards","status":"passed"}],"assurances":[],"logo":null,"seeded":null,"createdAt":"2026-10-19T12:21:28.780Z","updatedAt":"2026-10-19T13:35:28.521Z","jobs":[{"id":"dffc8efb-80a1-4774-9720-440834a61b82","objective":"Audit and deploy the three AskSwarm contracts on Robinhood Chain (chainId 4663), unchanged if they pass review. Foundry project at the repo root. These exact contracts were each audited and deployed on Ethereum mainnet through earlier IMD launches (#2099 AskSwarmRegistry, #2190 SwarmMarket, #2189 SwarmWager); their adaptation notes are in contracts/ADAPTATION-2099.md, ADAPTATION-2190.md and ADAPTATION-2189.md. This launch puts the same system on Robinhood Chain.\n\nDeploy in this order, in one launch:\n1. AskSwarmRegistry (src/AskSwarmRegistry.sol), constructor (address intake, address imd, address signer) = (0xa43e6f75ee006411f79ac1c84120606c2330de82, 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127, 0x5598aa9146215bc13eb26f2c692ad1461fd32982). Intake v2 and the oracle attester are the same on Robinhood Chain; 0x5f7b… is IMD on Robinhood Chain.\n2. SwarmMarket (src/SwarmMarket.sol), constructor (address registry, address imd, address treasury) = ($contract:AskSwarmRegistry, 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127, 0x571e17b13d8f6492bbc372a160520b20bfda320c). The treasury is AskSwarm's operating wallet, which pays for free asks.\n3. SwarmWager (src/SwarmWager.sol), constructor (address registry, address imd) = ($contract:AskSwarmRegistry, 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127).\n\nWhat they do: the registry pays Intake v2 for an oracle.request with itself as callback, verifies the attester's EIP-712 signature under its own domain (chain id 4663, the registry's address), requires agreed >= quorum and a strict majority, and stores answers by questionHash. SwarmMarket runs parimutuel yes/no markets settled only from the registry's verified bool answers, 2% fee on the losing pool split creator/treasury, 1h resolve window, voids on any non-answer. SwarmWager runs 1v1 yes/no bets settled the same way. None has an owner, admin, upgrade path or ETH handling; constructors make no external calls; tests are in test/.\n\nPart of AskSwarm (github.com/ChromiaAgents/askswarm).","state":"completed","attachedAt":"2026-10-19T12:21:28.780Z"}],"artifacts":[{"role":"other","name":"AskSwarmRegistry","address":"0xf3a79f962ec1e75f0087af5491a69dee2a869012","creationCodeHash":"d1693b26ce78cdf6d1d8798854f6d399dfd6e03175d31e1dde6bc443bdca726f","txHash":"0xf3de97499688c53dffa1970fbd38a65d85413b985f91724f6332be3b4f291566","blockNumber":92654033,"verifiedAt":"2026-10-19T13:36:02.123Z","verifyFailure":null},{"role":"other","name":"SwarmMarket","address":"0x6c95a84944b05e7de5000caef80a7c487aa57cb8","creationCodeHash":"1a28bff6770525db6b34867b0c6b6db55aed010c1810cbb3bb01fd4f95682d78","txHash":"0xf3de97499688c53dffa1970fbd38a65d85413b985f91724f6332be3b4f291566","blockNumber":92654033,"verifiedAt":"2026-10-19T13:36:07.711Z","verifyFailure":null},{"role":"other","name":"SwarmWager","address":"0xd237dd7564edb7a026613ebb6da31da0292af96c","creationCodeHash":"a7abe88c2c118e112770aec37f8ad93f26cf119f9614f0097eaabe3db4e3325a","txHash":"0xf3de97499688c53dffa1970fbd38a65d85413b985f91724f6332be3b4f291566","blockNumber":92654033,"verifiedAt":"2026-10-19T13:36:13.190Z","verifyFailure":null}],"allocations":[]}