{"rewardSnapshot":null,"merkleRoot":null,"claims":null,"id":"658f7cfd-362d-4538-bf33-66b861fda7b0","launchNumber":976,"kind":"evm_contracts","status":"live","chainId":4663,"sourceRepoUrl":"https://github.com/identity-md-launches/launch-976-askoracle-robinhood-chain-4663","sourceCommit":"d197b327e4667eab2925e467c632befb8bfde26e","parkedReason":null,"artifactCount":1,"manifestHash":"3c5890440ee33c09e19b1620dfaa35c5fc8f7e61dffeecf7c430a73228a25d5c","attestationHash":"e7d3396fcc3eb39b17422525a77560dc0e053fa4457421f0e8a9cffd7a85489a","attestation":{"treeHash":"c12a2925f1c2d5143da2e5990210345ce0eefde7","verifierVersion":"0.1.0+ad90ce4c","verifierKey":"68249df1f422fa72f61ca7f0ddaf9b62043959c5c134498441d5e552a9921782","toolchain":{"solc":"0.8.26","forge":"forge Version: 1.8.3","viaIR":false,"optimizer":true,"evmVersion":"cancun","bytecodeHash":"none","optimizerRuns":200},"contracts":[{"name":"AskOracle","path":"src/AskOracle.sol","abiHash":"4613a0e98de6a052e830f61ca942e6e920f9f51299ec9ee4e6ad5a7c6957af97","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"c8482404cb7801b33d21859ae795c27214c136b8aad1a0ec230262c557b932ae","creationCodeHash":"3ddf7aa71bf7e801dce7e37d53520c8eebda082a2b2980580f1eb4d2f9b4bff4","deployedCodeHash":"b705da94184986003e6b2dc8573b4c09147767ebe0e229c45218d06cd5047f95","creationCodeBytes":13236,"deployedCodeBytes":11413},{"name":"OracleAttestation","path":"src/OracleAttestation.sol","abiHash":"518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"bb05fe205f2be842609c2e4177ada804294565162fe205f4fd2b39ed979d88ea","creationCodeHash":"03f00af6a2c1e216c5142290f5a7c5a73b7dca9ff4182f298fb7a6b46fc82bef","deployedCodeHash":"324d2f77e170e519647f21af4dd0b9d0c4677a0d6fe8cd1d41c195a62780eeba","creationCodeBytes":94,"deployedCodeBytes":44},{"name":"QuestionText","path":"src/QuestionText.sol","abiHash":"d5af379d5be2e669c2a3823e1c934fb683787dae64611f03fc532841fed294c6","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"e4060af916002e52e6a62c9db57c8b0fdca78f44a80d34c25bed34609a3f7c2d","creationCodeHash":"03f00af6a2c1e216c5142290f5a7c5a73b7dca9ff4182f298fb7a6b46fc82bef","deployedCodeHash":"324d2f77e170e519647f21af4dd0b9d0c4677a0d6fe8cd1d41c195a62780eeba","creationCodeBytes":94,"deployedCodeBytes":44}],"manifest":{"kind":"evm_contracts","notes":"Deploy AskOracle on Robinhood Chain (4663). Constructor arguments, in order: owner ($owner), Intake, existing IMD, bytes32(\"oracle.request@oracle-1\"), oracle signer, panel size 50, quorum 40, validity 86400 seconds. The owner may update Intake, IMD, action, signer and panel settings. Anyone may ask a 1-500 byte question after approving AskOracle to spend IMD. Each request pays the current Intake.priceOf(action, IMD) fee (brief: 0.5 IMD), forwarded to Intake with no retained request funds or refund. The recorded Intake delivers signed bool attestations verified in AskOracle's EIP-712 domain with panel agreement and replay protection. Answers are exposed through question(id), count() and latestAnswered(). Anyone may mark a pending request Unanswered after 24 hours. Deploy only this application; no token deployment, ETH funding or initialization calls.","contracts":[{"contract":"AskOracle","constructorArgs":["$owner","0x1397434cd35e8a9c8ac312a61d3a285eb31dea56","0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127","0x6f7261636c652e72657175657374406f7261636c652d31000000000000000000","0x5598aa9146215bc13eb26f2c692ad1461fd32982","50","40","86400"]}]},"manifestError":null},"attestationFailure":null,"deployFailure":null,"policyVersion":28,"economics":null,"poolFee":null,"requester":"0x047f606fd5b2baa5f5c6c4ab8958e45cb6b054b7","admissionChecks":[{"name":"provenance","detail":"8 node(s) accepted at d197b327","status":"passed"},{"name":"findings","detail":"8 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":"1 application contracts; no protocol token or pool","status":"passed"},{"name":"protected_invariants","detail":"invariants-11aebc2aca1e: Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 5.09ms (4.69ms 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-08T02:42:22.954Z","updatedAt":"2026-10-08T02:42:39.864Z","jobs":[{"id":"17cab89e-bd76-4a9c-8661-e60b73815177","objective":"AskOracle on Robinhood Chain (4663): anyone pays 0.5 IMD to ask the IdentityMD oracle a yes/no question in plain text, and the answer is readable from a getter. One contract, no token.\n\nUse the on-chain Intake: Intake 0x1397434cd35e8a9c8ac312a61d3a285eb31dea56, IMD 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127, action bytes32(\"oracle.request@oracle-1\"), oracle signer 0x5598aa9146215bc13eb26f2c692ad1461fd32982. Follow the oracle-consumer reference exactly: its OracleAttestation struct, type string and domain (this contract is the verifying contract), copied, not retyped.\n\nask(string question) returns uint256 id:\n- question 1 to 500 bytes, no control characters; escape \" and \\ for JSON.\n- price = Intake.priceOf(action, IMD); pull exactly that from the caller (they approve this contract first), approve the Intake for it, call Intake.request with body {\"v\":1,\"question\":\"<question>\",\"chainId\":4663,\"window\":{\"hours\":1},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":50,\"quorum\":40,\"validForSeconds\":86400} and callback (this contract, onOracleResult).\n- record asker, question, intake request id, asked time, status Pending.\n\nonOracleResult: only from the Intake, only for a pending request; verify the attestation, require bool type and agreed >= quorum, consume its id, store the answer, agreed/quorum/panelSize and answered time, status Answered. Under 200k gas.\n\nA request with no answer after 24 hours can be marked Unanswered by anyone (the 0.5 IMD is spent; no refund).\n\nGetters: question(id) returning asker, question text, status, answer, agreed, quorum, panelSize, askedAt, answeredAt; count(); latestAnswered().\n\nOwner (constructor argument, written as $owner): may D, signer, panel size, quorum and validity. Nothingelse is privileged; the contract holds no funds betwe","state":"completed","attachedAt":"2026-10-08T02:42:22.954Z"}],"artifacts":[{"role":"other","name":"AskOracle","address":"0x7c2a56beeca74a75b01054702d1195bfa72124f0","creationCodeHash":"3ddf7aa71bf7e801dce7e37d53520c8eebda082a2b2980580f1eb4d2f9b4bff4","txHash":"0x720bdb86f1a7605b00f3d2922f4369f38c269947a7d400606f830cbcaba10c85","blockNumber":82972967,"verifiedAt":null,"verifyFailure":null}],"allocations":[]}