{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"54bd8953-5418-4cb6-9ab6-8a54926f1f64","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"d3ee4d8614c625a146aa900b2eae701426f5a375175d22d91d1505ccd66c3bd1","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"ae167063050c95fc7655fcc5ab0f99ee6ee873b86d043a5b6dcabb04a06b6c3d","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"43ea2fa8e432efc6258602759689361ed170bca62602a70c05b902732b933beb","dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"768303b5fcee1e4a8d0723acc1a83e17f857eca71511363256df4fc5abd9cb7f","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"69d3f1faf14d6d97e807b03fe0324bc5b3e51716e7c3df9b846f554c012c4b76","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"34ec952944808971c92982c5c9ae6d58308516d96ca83a2f7b17061e96721658","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"6b8d2c2ebd3301cff2be8edb1e1cc6ba65c858c02fe7247be81722b969842265","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"6b8d2c2ebd3301cff2be8edb1e1cc6ba65c858c02fe7247be81722b969842265","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"0a89c53892fa1cd7a29ccec46d66c87f4c2de20fcd307462c6088831bfb3358b","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"bd0ec45e2979755698d2d29d925093abba004b770e8cc0dd20dd3bb7fd27cd9c","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Ponziramid (PONZI).\nToken name: Ponziramid\nToken symbol: PONZI\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"fd80c7f6530ffc4fbd598a8ba3a4249c4e065b72dc4e72cd2504a9ecd1d06462","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"54bd8953-5418-4cb6-9ab6-8a54926f1f64","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1519-ponziramid"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"50994","feedbackHash":"5c912f338aac8a91351836fca73dc2a81a4b5c5fd15d71a1332b4a4cc4c38efb","nodeKey":"audit_economics","submissionHash":"d3ee4d8614c625a146aa900b2eae701426f5a375175d22d91d1505ccd66c3bd1","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52290","feedbackHash":"2e58affdcdbae2e553e144644f5fe305ab0517f3119e2e84223ef2557f47f56c","nodeKey":"audit_flow","submissionHash":"ae167063050c95fc7655fcc5ab0f99ee6ee873b86d043a5b6dcabb04a06b6c3d","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51485","feedbackHash":"50cc71d4e62debb281e0940db64c271b2e42cb75fa63a5440e92cdf3fda2af3e","nodeKey":"audit_judge","submissionHash":"43ea2fa8e432efc6258602759689361ed170bca62602a70c05b902732b933beb","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51035","feedbackHash":"33a886bb75a95f8b0b1e12d884b21e11f1fcaecd409ea65d2f7cc019830e8d15","nodeKey":"audit_math","submissionHash":"768303b5fcee1e4a8d0723acc1a83e17f857eca71511363256df4fc5abd9cb7f","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52396","feedbackHash":"92b33c25e9d4700e10ab1a22d0173f92a6d8b0dce61e5535a0b20c24d27cb367","nodeKey":"audit_permissions","submissionHash":"69d3f1faf14d6d97e807b03fe0324bc5b3e51716e7c3df9b846f554c012c4b76","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52471","feedbackHash":"00aeea8013926cb32240bff409e26dbe7e5a1fdeb5b691246e033f545f7387e8","nodeKey":"build_contract_project","submissionHash":"34ec952944808971c92982c5c9ae6d58308516d96ca83a2f7b17061e96721658","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52472","feedbackHash":"725eef20bfb7fa3eb3bc41c485ece6b868f7883f18ff78d2efac7e278c9aa0ee","nodeKey":"manifest","submissionHash":"0a89c53892fa1cd7a29ccec46d66c87f4c2de20fcd307462c6088831bfb3358b","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"53234","feedbackHash":"5d445ec616eea9a4d9ea92473ad92a13cc4bff3ebe7393902c8bb61c283f2e50","nodeKey":"write_foundry_tests","submissionHash":"bd0ec45e2979755698d2d29d925093abba004b770e8cc0dd20dd3bb7fd27cd9c","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"41d28128e1b2ae0383b2acaacb0337172668f72cd888bc7a045386d098161522","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"66cc4415e8f7dc441a7962faba4f88b9554a679e267db08e4a6d6e8db76bd390","device":"98525db16a699f7a","findings":[],"hash":"0a89c53892fa1cd7a29ccec46d66c87f4c2de20fcd307462c6088831bfb3358b","nodeId":"6d8b2f63-df39-4340-a0e3-4880152a9ff1","outcome":"completed","summary":"Created `launch.json` matching Ponziramid’s constructor, exact supply, required pool settings, and verbatim economics.\n\n`forge build` succeeded; `forge test` passed all 38 tests. Manifest fields and constructor ABI checks passed. Only `launch.json` is changed for submission.","treeHash":"7b63b48b9180efbb07fffe18702fb0ddb14a172e","usage":{"cachedInputTokens":243584,"inputTokens":24437,"model":"gpt-6-astra","outputTokens":2343,"runtime":"codex","turns":3,"wallClockMs":92887}},{"artifacts":[],"attempt":1,"bundleHash":"111077e2763662cdcd1648aed43518e566f50faae53a1c05aeb42a4c3eaeee2a","device":"cf6f08a25e988161","findings":[],"hash":"34ec952944808971c92982c5c9ae6d58308516d96ca83a2f7b17061e96721658","nodeId":"2b29a114-3acd-4af7-a2eb-4b21bb846138","outcome":"completed","summary":"Implemented [Ponziramid (PONZI)](/home/agent116/.identitymd/work/54bd8953-5418-4cb6-9ab6-8a54926f1f64/2b29a114-3acd-4af7-a2eb-4b21bb846138/src/Ponziramid.sol): 1 billion tokens, 18 decimals, minted once to the deployer.\n\nIncluded vendored dependencies, deployment documentation, and success, failure, fuzz, and invariant tests.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passed.\n- `forge test`: 38 results passed.\n- `forge fmt --check` passed.\n- Clean offline checks with an empty environment passed.\n\nThe separate protected launch harness remains for the independent verifier.","treeHash":"22437b6eb758c45a53ce9887096e1e639cf9fcfd","usage":{"cachedInputTokens":420608,"inputTokens":71012,"model":"gpt-6-astra","outputTokens":16585,"runtime":"codex","turns":5,"wallClockMs":516183}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"234a4a00ca903cb9","findings":[],"hash":"43ea2fa8e432efc6258602759689361ed170bca62602a70c05b902732b933beb","nodeId":"5191ffdc-819e-4b3c-920d-544cdaee0580","outcome":"completed","summary":"I found no defects in Ponziramid and wrote an empty findings list to `.imd-findings.json`. I traced the code and didn't run any tests.\n\n- **The contract:** `src/Ponziramid.sol` is OpenZeppelin's standard ERC20 with nothing changed. Its constructor takes no arguments and mints 1e27 (one billion tokens at 18 decimals) once to `msg.sender`, which is the factory. It has no admin roles, no way to mint more later, and no fee or burn on transfer, so the launch transfers move exact amounts.\n- **The manifest:** `launch.json` matches the contract. The constructor has no parameters and `constructorArgs` is empty, `totalSupply` is 1e27 and decimals is 18. The contract is small, so the size limits don't apply.\n- **Specialist finding (dropped):** The one specialist finding, from economics, was info level: anyone can call `transferFrom(victim, x, 0)` without an allowance and it emits a Transfer event. I dropped it because standard ERC-20 allows this and it changes no balance or allowance.\n- **Static analysis:** The aderyn \"large numeric literal\" note is about the supply constant. It's a style point, not a defect.\n- **Coverage:** I marked all three entry points (`approve`, `transfer`, `transferFrom`) as `holds`.","treeHash":null,"usage":{"cachedInputTokens":100610,"inputTokens":6,"model":"claude-opus-5-5","outputTokens":996,"runtime":"claude","turns":3,"wallClockMs":13154}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a11137177fc72d8b","findings":[],"hash":"69d3f1faf14d6d97e807b03fe0324bc5b3e51716e7c3df9b846f554c012c4b76","nodeId":"6e1483a0-dc24-476a-a6e2-a04afa63443a","outcome":"completed","summary":"The review is complete and the findings file is written. The working tree is clean apart from the untracked findings file (git status reported no tracked changes).\n\n**Result: no defects found in the Access Control, Trust Gap and Asymmetry area.** The findings file holds an empty list and a nine-row coverage record, all `holds`.\n\nWhat I checked:\n\n- **Permission model.** The contract is OpenZeppelin ERC20 v5.4.0 plus a constructor that mints the fixed supply to `msg.sender`. The compiled ABI has only the standard ERC-20 functions and one constant getter. There is no owner, initializer, proxy, pause, blacklist, mint, burn, rescue, or payable entry. Unknown selectors and ETH sends revert.\n- **Inconsistent guards.** Balances are written only through the transfer path, which debits `msg.sender` or an address that granted an allowance to `msg.sender`. Allowances are written only by the caller's own row. A scratch test confirmed the deployer, a stranger, and the holder itself all fail `transferFrom` at zero allowance.\n- **Asymmetry.** `transfer` and `transferFrom` produce identical balance deltas across 512 fuzz runs. Finite allowances decrement, the max allowance stays unlimited, and both remain bounded by the sender's balance. Mint and burn branches in the base are unreachable after construction.\n- **Trust gap.** No privileged actor exists, so no access-times-economics seam applies. The only asymmetric position is the initial holder, which is the factory by construction and matches the protected launch test.\n- **Supply chain.** The five vendored OpenZeppelin files hash byte-for-byte to the pinned upstream commit. The runtime bytecode contains no call, create, delegatecall, callcode or selfdestruct opcodes.\n- **Static-analysis lead.** The aderyn large-literal note is the supply constant, which equals the manifest total supply. Not a defect.\n\nThe existing 38-test suite passes. The scratch probe I used for evidence passed all seven tests and has been deleted, as test/scratch is not kept.","treeHash":null,"usage":{"cachedInputTokens":729965,"inputTokens":386,"model":"claude-fable-5-1","outputTokens":12548,"runtime":"claude","turns":19,"wallClockMs":215782}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8472a2af9a9cf974","findings":[],"hash":"768303b5fcee1e4a8d0723acc1a83e17f857eca71511363256df4fc5abd9cb7f","nodeId":"c0c7d08c-c182-4038-bcf7-d614a5e14a29","outcome":"completed","summary":"The review is complete. The findings file is written with an empty findings list and full coverage, and the scratch tests are removed so the working tree holds only the review output.\n\n**Result: no defects found in the Math Precision, Boundary or Numerical Gap area.**\n\nWhat I checked:\n\n- **The only production contract** is a 16-line fixed-supply token over OpenZeppelin 5.4.0. It mints 10^27 units once to the deployer and adds no arithmetic of its own.\n- **Vendored dependency integrity.** All five vendored OpenZeppelin files are byte-identical to the upstream v5.4.0 commit, so the inherited transfer and allowance math is the audited upstream code.\n- **Math Precision guide.** There are no divisions, no downcasts, no decimal conversions and no fee formulas. The unchecked blocks in the inherited balance update are sound because every balance is bounded by the constructor-only supply. The allowance decrement is guarded by an explicit insufficient-allowance revert before the unchecked subtraction.\n- **Boundary guide.** The token makes no external calls, has no payable path, decodes no bytes, and its only sentinel branches are the zero-address rejections. Both sides of each were traced. Zero, one wei, exact balance, balance plus one and max uint were exercised on every entry point.\n- **Numerical Gap guide.** Supply conservation holds under zero-value fast paths and under fuzzed splits. The launch shares of ten and eighty percent divide the supply with no remainder, and the whole supply fits in the uint128 and int128 types the Uniswap v4 seed path uses.\n- **Static analysis lead.** The aderyn large-literal note points at a compile-time constant that evaluates exactly to 10^27. It is not a defect.\n\nVerification run: the delivered suite of 38 tests passed, and my 8 scratch tests covering the corners above passed before I deleted them.\n\nCoverage in `.imd-findings.json` has one row for each of the three listed entry points plus four invariant rows, all marked holds.","treeHash":null,"usage":{"cachedInputTokens":524234,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":10201,"runtime":"claude","turns":24,"wallClockMs":176934}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"60c045240bb09c33","findings":[],"hash":"ae167063050c95fc7655fcc5ab0f99ee6ee873b86d043a5b6dcabb04a06b6c3d","nodeId":"46d96480-a543-4efd-a20f-b954d9d261ff","outcome":"completed","summary":"The review is complete. The findings file is written with an empty list and a full coverage record, and the tree is unchanged apart from that file.\n\n**Result: no defects found.** Ponziramid is an unmodified OpenZeppelin 5.4.0 ERC-20 with a single constructor mint, and every failure mode in the Execution Trace, Periphery and First Principles guides was checked against it without finding a reachable defect.\n\nWhat I verified, by area:\n\n- **Execution Trace.** Traced approve, transfer and transferFrom from entry to storage. Zero-address sender, recipient and spender revert. Balance and allowance checks precede the unchecked arithmetic they guard. Finite allowances are consumed exactly, with no residual, and the max allowance is preserved. Failed calls roll back atomically. There are no sentinel paths, external calls, callbacks or stale reads.\n- **Periphery.** All five vendored OpenZeppelin files are byte-identical to the pinned upstream commit for v5.4.0. The Context base is the plain one, so the spender is always the real caller. An opcode scan of the runtime found no CALL, STATICCALL, CREATE, DELEGATECALL, CALLCODE or SELFDESTRUCT, so the token has no reentrancy or dependency surface.\n- **First Principles.** The supply constant is exactly 10^27, which closes the aderyn large-literal lead. The mint goes to the immediate deployer, so a CREATE2 factory holds everything and the wallet calling it holds nothing. No public or external function can mint, burn, pause, freeze or seize. There is no payable entry point.\n\nI ran the full existing suite and a scratch test of my own covering the factory mint, the 10/80/10 launch split, allowance edge cases and the opcode scan. All passed. The scratch test was removed afterwards.\n\nOne limit on coverage: the Uniswap v4 seed and swap flow could not be executed locally because v4-core is not vendored. The token side of that flow is plain and verified; the pool interaction itself is left to the verifier's protected harness, and the coverage record says so.","treeHash":null,"usage":{"cachedInputTokens":476292,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":9681,"runtime":"claude","turns":25,"wallClockMs":140440}},{"artifacts":[],"attempt":1,"bundleHash":"ff2fb6db182f8a1770a1508bc0a1bd4bd00e7c94d840f4d81272c781a8850486","device":"d0cae3c2b90f3949","findings":[],"hash":"bd0ec45e2979755698d2d29d925093abba004b770e8cc0dd20dd3bb7fd27cd9c","nodeId":"b020dc92-867c-4a45-a804-26a606b51ffe","outcome":"completed","summary":"Expanded tests under `test/` with failure paths, allowance boundaries, fuzz properties, and stateful invariants.\n\nValidation passed:\n- `forge build`\n- `forge test`: 49 passed\n- 32,768 invariant-handler calls\n\nNo implementation defects found. Only two test files changed.","treeHash":"fd962ba7c16a30ee75095422aea79f796c76a445","usage":{"cachedInputTokens":600064,"inputTokens":65958,"model":"gpt-6-astra","outputTokens":10074,"runtime":"codex","turns":6,"wallClockMs":346327}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"60ffae3cc413a0c6","findings":[{"citation":"resolved","description":"Ponziramid inherits OpenZeppelin 5.4.0 ERC20 unmodified. ERC20.transferFrom (lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:142) calls _spendAllowance (line 294), which only reverts when `currentAllowance < value` (line 297). With value == 0 that check passes for every (owner, spender) pair, so any unprivileged account can call transferFrom(victim, lookalike, 0) and the token emits Transfer(victim, lookalike, 0). No balance or allowance changes, so there is no loss of funds and the launch flows (factory -> distributor, distributor -> claimant, PoolManager seed and swaps) are unaffected. The only economic effect is off-chain: explorers and wallets show a 'transfer' from the victim to an attacker-chosen address, which is the standard address-poisoning scam used against copy-pasted addresses. This is ERC-20 compliant and the author's own test test_ZeroTransferFromNeedsNoAllowance (test/Ponziramid.t.sol:245) documents it as intended, so it is reported as informational, not as a defect that blocks the launch. If the author wants to close the vector without changing any flow, override transferFrom (or _spendAllowance) in src/Ponziramid.sol to require the allowance check even when value == 0, e.g. `if (value == 0 && msg.sender != from) revert ERC20InsufficientAllowance(msg.sender, 0, 0);`; all launch flows move non-zero amounts and are unaffected.","line":8,"path":"src/Ponziramid.sol","reproduction":"State: deployer D holds 1e27; D calls transfer(victim, 1000e18). allowance(victim, attacker) == 0. Call: vm.prank(attacker); token.transferFrom(victim, 0xB0B, 0). Actual: returns true and emits Transfer(victim, 0xB0B, 0); balanceOf(victim) stays 1000e18; allowance stays 0. Same call with value 1 reverts with ERC20InsufficientAllowance(attacker, 0, 1). Expected for a hardened token: the zero-value delegated transfer from an account that never approved the caller reverts. Verified with a scratch Foundry test (vm.expectEmit on Transfer(victim, lookalike, 0); both assertions passed on the current code).","severity":"info","snippet":"contract Ponziramid is ERC20 {","title":"Zero-value transferFrom needs no allowance and emits a Transfer attributed to any holder (address-poisoning vector)"}],"hash":"d3ee4d8614c625a146aa900b2eae701426f5a375175d22d91d1505ccd66c3bd1","nodeId":"a0bc8a38-6f6c-4b77-89b4-b222f8840a21","outcome":"completed","summary":"The findings file validates, the quoted snippet matches line 8 of the token, the scratch directory is removed, and `git status` shows only the untracked findings file. The review is complete.\n\n**Outcome:** no exploitable defect in the Ponziramid token. One informational finding is recorded in `.imd-findings.json` with a concrete reproduction and seven coverage rows.\n\n**What was checked**\n\n- The token is OpenZeppelin 5.4.0 ERC20 with a single constructor mint of 10^27 units to the deployer. All six vendored OpenZeppelin files diffed byte-identical to upstream v5.4.0, so the inherited behaviour is the audited library's.\n- Economic Security guide: no external dependencies, oracles, callbacks, hooks, permit, proxy, admin, pause, blacklist, fee, or rebase. Nothing can be extracted, frozen, or diluted. Decimals return 18 as the brief requires.\n- Invariant guide: supply is fixed at construction with no mint or burn path in the ABI. Balance sum equals supply through the single OpenZeppelin update function. Allowances are consumed exactly and the infinite allowance is preserved.\n- Flow Gap guide: transfers return true and move exact amounts, so the factory to distributor, claim, single-sided seed, and buy and sell flows in the protected harness arrive whole. No launch manifest exists yet, which is expected before the manifest step.\n- The repo suite of 38 tests, including the stateful invariant runs, passes on Foundry 1.8.3 with Solidity 0.8.26. The aderyn large-literal note is the correct supply constant and not a defect.\n\n**The one finding, severity info:** a zero-value `transferFrom` from any holder succeeds without an allowance and emits a `Transfer` attributed to that holder. This is ERC-20 compliant, is OpenZeppelin's default, and the author's own test marks it as intended. It moves no funds. Its only effect is the off-chain address-poisoning pattern, so I reported it with a reproduction and an optional override rather than as a blocking defect.\n\n**Coverage:** approve and transfer hold, transferFrom carries the informational finding, and the three invariant and flow rows hold. Nothing in the assigned area was left unreached.","treeHash":null,"usage":{"cachedInputTokens":784204,"inputTokens":354,"model":"claude-fable-5-1","outputTokens":12028,"runtime":"claude","turns":24,"wallClockMs":207047}}],"verification":[{"checks":[{"durationMs":1747,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.62s\nCompiler run successful!\n","passed":true},{"durationMs":3413,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 8 tests for test/PonziramidLaunch.t.sol:PonziramidLaunchTest\n[PASS] test_Create2MintsEverythingToImmediateFactory() (gas: 64329)\n[PASS] test_DistributionAndPoolCustodyTransfersArriveWhole() (gas: 415863)\n[PASS] test_FactoryCannotFreezeBurnOrSeizeHolderTokens() (gas: 478664)\n[PASS] test_HolderCannotBurnSupply() (gas: 106634)\n[PASS] test_NoMintInitializeOrUpgradeEntryPointsForAnyone() (gas: 689203)\n[PASS] test_RejectsNativeCurrency() (gas: 39371)\n[PASS] test_RuntimeIsDeployableAndHasNoForbiddenOpcodes() (gas: 2261756)\n[PASS] test_TransfersToContractsDoNotMakeCallbacks() (gas: 185251)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 13.37ms (7.78ms CPU time)\n\nRan 29 tests for test/Ponziramid.t.sol:PonziramidTest\n[PASS] testFuzz_DelegatedTransferAccounting(uint256,uint256) (runs: 512, μ: 171047, ~: 171960)\nLogs:\n  Bound result 20000000000000000000\n  Bound result 115792089237316195423570985008687907853269984665640564039437584007913129649268\n\n[PASS] testFuzz_OverdraftAlwaysReverts(uint256,uint256) (runs: 512, μ: 129382, ~: 129672)\nLogs:\n  Bound result 464721543131651322264042962\n  Bound result 14358269\n\n[PASS] testFuzz_TransfersConserveSupply(uint256) (runs: 512, μ: 96578, ~: 96854)\nLogs:\n  Bound result 40000000000000000001\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 95449)\n[PASS] test_ApprovalDoesNotRequireTokens() (gas: 78603)\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 141782)\n[PASS] test_ApproveToZeroReverts() (gas: 40273)\n[PASS] test_ConstructorEmitsMintTransfer() (gas: 8138)\n[PASS] test_DelegatedSelfTransferSpendsAllowanceButPreservesBalance() (gas: 110266)\n[PASS] test_EntireBalanceCanMoveRepeatedly() (gas: 141359)\n[PASS] test_InfiniteAllowanceIsPreserved() (gas: 207008)\n[PASS] test_MaximumTransferRevertsWithoutOverflow() (gas: 38191)\n[PASS] test_MetadataAndEntireInitialSupply() (gas: 109546)\n[PASS] test_OwnerUsingTransferFromAlsoNeedsAllowance() (gas: 38510)\n[PASS] test_RevokeApprovalPreventsFurtherSpending() (gas: 133387)\n[PASS] test_SelfTransferPreservesBalance() (gas: 43864)\n[PASS] test_SelfTransferStillRequiresBalance() (gas: 35907)\n[PASS] test_TransferFromInsufficientAllowanceRollsBack() (gas: 120513)\n[PASS] test_TransferFromInsufficientBalanceRestoresAllowance() (gas: 126194)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 238934)\n[PASS] test_TransferFromToZeroRestoresAllowance() (gas: 108577)\n[PASS] test_TransferFromWithoutApprovalReverts() (gas: 47452)\n[PASS] test_TransferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37839)\n[PASS] test_TransferMoreThanBalanceReverts() (gas: 57624)\n[PASS] test_TransferReturnsTrueAndEmitsExactAmount() (gas: 96219)\n[PASS] test_TransferToZeroReverts() (gas: 50253)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73354)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 66558)\n[PASS] test_ZeroTransferToZeroReverts() (gas: 32864)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 14.20ms (45.52ms CPU time)\n\nRan 1 test for test/PonziramidInvariant.t.sol:PonziramidInvariantTest\n[PASS]\nPonziramidInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_SupplyAndBalancesMatchModel\n PonziramidInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-------------------+--------------+-------+---------+----------╮\n| Contract          | Selector     | Calls | Reverts | Discards |\n+===============================================================+\n| PonziramidHandler | approve      | 2776  | 0       | 0        |\n|-------------------+--------------+-------+---------+----------|\n| PonziramidHandler | transfer     | 2760  | 0       | 0        |\n|-------------------+--------------+-------+---------+----------|\n| PonziramidHandler | transferFrom | 2656  | 0       | 0        |\n╰-------------------+--------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.29s (3.28s CPU time)\n\nRan 3 test suites in 3.29s (3.31s CPU time): 38 tests passed, 0 failed, 0 skipped (38 total tests)\n","passed":true},{"durationMs":54,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Ponziramid.approve(address,uint256)\",\"Ponziramid.transfer(address,uint256)\",\"Ponziramid.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.json\":16,\"LICENSE\":21,\"README.md\":139,\"VENDOR.md\":18,\"foundry.toml\":18,\"launch.json\":20,\"remappings.txt\":2,\"src/Ponziramid.sol\":16,\"test/Ponziramid.t.sol\":305,\"test/PonziramidInvariant.t.sol\":119,\"test/PonziramidLaunch.t.sol\":191},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"0a89c53892fa1cd7a29ccec46d66c87f4c2de20fcd307462c6088831bfb3358b","verifiedTreeHash":"7b63b48b9180efbb07fffe18702fb0ddb14a172e","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1462,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.35s\nCompiler run successful!\n","passed":true},{"durationMs":2614,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 8 tests for test/PonziramidLaunch.t.sol:PonziramidLaunchTest\n[PASS] test_Create2MintsEverythingToImmediateFactory() (gas: 64329)\n[PASS] test_DistributionAndPoolCustodyTransfersArriveWhole() (gas: 415863)\n[PASS] test_FactoryCannotFreezeBurnOrSeizeHolderTokens() (gas: 478664)\n[PASS] test_HolderCannotBurnSupply() (gas: 106634)\n[PASS] test_NoMintInitializeOrUpgradeEntryPointsForAnyone() (gas: 689203)\n[PASS] test_RejectsNativeCurrency() (gas: 39371)\n[PASS] test_RuntimeIsDeployableAndHasNoForbiddenOpcodes() (gas: 2261756)\n[PASS] test_TransfersToContractsDoNotMakeCallbacks() (gas: 185251)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 13.81ms (10.03ms CPU time)\n\nRan 29 tests for test/Ponziramid.t.sol:PonziramidTest\n[PASS] testFuzz_DelegatedTransferAccounting(uint256,uint256) (runs: 512, μ: 170990, ~: 171952)\nLogs:\n  Bound result 1971705286985756557020781\n  Bound result 1971705286985756557020783\n\n[PASS] testFuzz_OverdraftAlwaysReverts(uint256,uint256) (runs: 512, μ: 129197, ~: 129648)\nLogs:\n  Bound result 2\n  Bound result 1971705286985756557020781\n\n[PASS] testFuzz_TransfersConserveSupply(uint256) (runs: 512, μ: 96791, ~: 96842)\nLogs:\n  Bound result 622202677663904612245241355\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 95449)\n[PASS] test_ApprovalDoesNotRequireTokens() (gas: 78603)\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 141782)\n[PASS] test_ApproveToZeroReverts() (gas: 40273)\n[PASS] test_ConstructorEmitsMintTransfer() (gas: 8138)\n[PASS] test_DelegatedSelfTransferSpendsAllowanceButPreservesBalance() (gas: 110266)\n[PASS] test_EntireBalanceCanMoveRepeatedly() (gas: 141359)\n[PASS] test_InfiniteAllowanceIsPreserved() (gas: 207008)\n[PASS] test_MaximumTransferRevertsWithoutOverflow() (gas: 38191)\n[PASS] test_MetadataAndEntireInitialSupply() (gas: 109546)\n[PASS] test_OwnerUsingTransferFromAlsoNeedsAllowance() (gas: 38510)\n[PASS] test_RevokeApprovalPreventsFurtherSpending() (gas: 133387)\n[PASS] test_SelfTransferPreservesBalance() (gas: 43864)\n[PASS] test_SelfTransferStillRequiresBalance() (gas: 35907)\n[PASS] test_TransferFromInsufficientAllowanceRollsBack() (gas: 120513)\n[PASS] test_TransferFromInsufficientBalanceRestoresAllowance() (gas: 126194)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 238934)\n[PASS] test_TransferFromToZeroRestoresAllowance() (gas: 108577)\n[PASS] test_TransferFromWithoutApprovalReverts() (gas: 47452)\n[PASS] test_TransferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37839)\n[PASS] test_TransferMoreThanBalanceReverts() (gas: 57624)\n[PASS] test_TransferReturnsTrueAndEmitsExactAmount() (gas: 96219)\n[PASS] test_TransferToZeroReverts() (gas: 50253)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73354)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 66558)\n[PASS] test_ZeroTransferToZeroReverts() (gas: 32864)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 14.96ms (43.96ms CPU time)\n\nRan 1 test for test/PonziramidInvariant.t.sol:PonziramidInvariantTest\n[PASS]\nPonziramidInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_SupplyAndBalancesMatchModel\n PonziramidInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-------------------+--------------+-------+---------+----------╮\n| Contract          | Selector     | Calls | Reverts | Discards |\n+===============================================================+\n| PonziramidHandler | approve      | 2785  | 0       | 0        |\n|-------------------+--------------+-------+---------+----------|\n| PonziramidHandler | transfer     | 2838  | 0       | 0        |\n|-------------------+--------------+-------+---------+----------|\n| PonziramidHandler | transferFrom | 2569  | 0       | 0        |\n╰-------------------+--------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.51s (2.51s CPU time)\n\nRan 3 test suites in 2.51s (2.54s CPU time): 38 tests passed, 0 failed, 0 skipped (38 total tests)\n","passed":true},{"durationMs":45,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Ponziramid.approve(address,uint256)\",\"Ponziramid.transfer(address,uint256)\",\"Ponziramid.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.json\":16,\"LICENSE\":21,\"README.md\":139,\"VENDOR.md\":18,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Ponziramid.sol\":16,\"test/Ponziramid.t.sol\":305,\"test/PonziramidInvariant.t.sol\":119,\"test/PonziramidLaunch.t.sol\":191},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":567,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":189,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Ponziramid.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"34ec952944808971c92982c5c9ae6d58308516d96ca83a2f7b17061e96721658","verifiedTreeHash":"22437b6eb758c45a53ce9887096e1e639cf9fcfd","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1344,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.25s\nCompiler run successful!\n","passed":true},{"durationMs":9864,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 8 tests for test/PonziramidLaunch.t.sol:PonziramidLaunchTest\n[PASS] test_Create2MintsEverythingToImmediateFactory() (gas: 64329)\n[PASS] test_DistributionAndPoolCustodyTransfersArriveWhole() (gas: 415863)\n[PASS] test_FactoryCannotFreezeBurnOrSeizeHolderTokens() (gas: 478664)\n[PASS] test_HolderCannotBurnSupply() (gas: 106634)\n[PASS] test_NoMintInitializeOrUpgradeEntryPointsForAnyone() (gas: 689203)\n[PASS] test_RejectsNativeCurrency() (gas: 39371)\n[PASS] test_RuntimeIsDeployableAndHasNoForbiddenOpcodes() (gas: 2261756)\n[PASS] test_TransfersToContractsDoNotMakeCallbacks() (gas: 185251)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 77.45ms (6.45ms CPU time)\n\nRan 39 tests for test/Ponziramid.t.sol:PonziramidTest\n[PASS] testFuzz_DelegatedOverdraftPreservesApproval(uint256,uint256,bool) (runs: 1000, μ: 210593, ~: 210147)\nLogs:\n  Bound result 5000000000000000000\n  Bound result 1344\n\n[PASS] testFuzz_DelegatedTransferAccounting(uint256,uint256) (runs: 1000, μ: 171149, ~: 172040)\nLogs:\n  Bound result 17514531754491895468284594\n  Bound result 3128676905536117609648853148381245559119812834537610360589869324208\n\n[PASS] testFuzz_InsufficientAllowancePreservesFundedBalances(uint256,uint256) (runs: 1000, μ: 204954, ~: 206721)\nLogs:\n  Bound result 9262\n  Bound result 4471\n\n[PASS] testFuzz_InvalidRecipientPreservesApproval(uint256,uint256,bool) (runs: 1000, μ: 134228, ~: 131345)\nLogs:\n  Bound result 157688090785264337942764995\n\n[PASS] testFuzz_OverdraftAlwaysReverts(uint256,uint256) (runs: 1000, μ: 129498, ~: 129865)\nLogs:\n  Bound result 695224888757215337300670625\n  Bound result 17514531754491895468284594\n\n[PASS] testFuzz_ReapprovalAfterPartialSpendReplacesRemainingAllowance(uint256,uint256,uint256) (runs: 1000, μ: 377151, ~: 377418)\nLogs:\n  Bound result 225285864516184302850475252\n  Bound result 39630380155833\n  Bound result 1\n\n[PASS] testFuzz_TransferRoundTripPreservesBalancesAndApprovals(uint256,uint256,uint256) (runs: 1000, μ: 355660, ~: 355407)\nLogs:\n  Bound result 810422203195771856447799653\n  Bound result 39630380155833\n\n[PASS] testFuzz_TransfersConserveSupply(uint256) (runs: 1000, μ: 96797, ~: 96967)\nLogs:\n  Bound result 432294556686141127125504447\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 95551)\n[PASS] test_ApprovalDoesNotRequireTokens() (gas: 78665)\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 141840)\n[PASS] test_ApproveToZeroReverts() (gas: 40215)\n[PASS] test_ConstructorEmitsMintTransfer() (gas: 8138)\n[PASS] test_DelegatedSelfTransferSpendsAllowanceButPreservesBalance() (gas: 110302)\n[PASS] test_EntireBalanceCanMoveRepeatedly() (gas: 141528)\n[PASS] test_InfiniteAllowanceIsPreserved() (gas: 207073)\n[PASS] test_InfiniteApprovalDoesNotPermitMaximumOverdraft() (gas: 134432)\n[PASS] test_LargestFiniteAllowanceIsDecremented() (gas: 152895)\n[PASS] test_MaximumTransferRevertsWithoutOverflow() (gas: 38313)\n[PASS] test_MetadataAndEntireInitialSupply() (gas: 109612)\n[PASS] test_OneWeiAllowanceCannotBeSpentTwice() (gas: 219493)\n[PASS] test_OwnerUsingTransferFromAlsoNeedsAllowance() (gas: 38495)\n[PASS] test_RevokeApprovalPreventsFurtherSpending() (gas: 133441)\n[PASS] test_SelfApprovedOwnerCanTransferEntireSupply() (gas: 150876)\n[PASS] test_SelfTransferPreservesBalance() (gas: 43893)\n[PASS] test_SelfTransferStillRequiresBalance() (gas: 35936)\n[PASS] test_TransferFromInsufficientAllowanceRollsBack() (gas: 120627)\n[PASS] test_TransferFromInsufficientBalanceRestoresAllowance() (gas: 126252)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 239021)\n[PASS] test_TransferFromToZeroRestoresAllowance() (gas: 108701)\n[PASS] test_TransferFromWithoutApprovalReverts() (gas: 47547)\n[PASS] test_TransferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37891)\n[PASS] test_TransferMoreThanBalanceReverts() (gas: 57728)\n[PASS] test_TransferReturnsTrueAndEmitsExactAmount() (gas: 96270)\n[PASS] test_TransferToZeroReverts() (gas: 50195)\n[PASS] test_ZeroDelegatedTransferToZeroStillReverts() (gas: 79090)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73427)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 66587)\n[PASS] test_ZeroTransferToZeroReverts() (gas: 32960)\nSuite result: ok. 39 passed; 0 failed; 0 skipped; finished in 77.53ms (609.17ms CPU time)\n\nRan 2 tests for test/PonziramidInvariant.t.sol:PonziramidInvariantTest\n[PASS]\nPonziramidInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_SupplyAndBalancesMatchModel\n PonziramidInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭-------------------+--------------------------+-------+---------+----------╮\n| Contract          | Selector                 | Calls | Reverts | Discards |\n+===========================================================================+\n| PonziramidHandler | approve                  | 5433  | 0       | 0        |\n|-------------------+--------------------------+-------+---------+----------|\n| PonziramidHandler | rejectDelegatedOverdraft | 5463  | 0       | 0        |\n|-------------------+--------------------------+-------+---------+----------|\n| PonziramidHandler | rejectInvalidAddress     | 5328  | 0       | 0        |\n|-------------------+--------------------------+-------+---------+----------|\n| PonziramidHandler | spendApproved            | 5549  | 0       | 0        |\n|-------------------+--------------------------+-------+---------+----------|\n| PonziramidHandler | transfer                 | 5514  | 0       | 0        |\n|-------------------+--------------------------+-------+---------+----------|\n| PonziramidHandler | transferFrom             | 5481  | 0       | 0        |\n╰-------------------+--------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 6199\n  Bound result 2476121568\n  Bound result 250000000000000002476121567\n  Bound result 2344\n  Bound result 1000000000\n  Bound result 242\n  Bound result 1000000000000000000000000000\n  Bound result 1799\n  Bound result 54754982495191498844664161\n  Bound result 0\n  Bound result 5000000000000000000\n  Bound result 4648\n  Bound result 0\n  Bound result 1424\n  Bound result 95\n  Bound result 10\n  Bound result 10135\n  Bound result 10\n  Bound result 1454\n  Bound result 56327518270139575250\n  Bound result 3084316547922870119\n  Bound result 7\n  Bound result 51\n  Bound result 230281172870885272743429538\n  Bound result 1598\n  Bound result 140615494547933318819325907\n  Bound result 0\n  Bound result 3263\n  Bound result 2153\n  Bound result 10291\n  Bound result 9758453935266488652765201372714949245663953853025\n  Bound result 787\n  Bound result 5000000000000000000\n  Bound result 16718854151496871178096628\n  Bound result 8\n  Bound result 0\n  Bound result 123000000000000000000\n  Bound result 127\n  Bound result 20000000000000000000\n  Bound result 0\n  Bound result 8149293162248942066431\n  Bound result 1000000000000000000\n  Bound result 274\n  Bound result 175945562845778446604488832066316073590177731425706952\n  Bound result 3334\n  Bound result 308\n  Bound result 0\n  Bound result 544868933836978675283818\n  Bound result 242\n  Bound result 120387239224698880562226319\n  Bound result 17267527824069790125566874\n  Bound result 5000000000000000000\n  Bound result 3\n  Bound result 1889\n  Bound result 250000000000000000000000793\n  Bound result 8971\n  Bound result 863021215441630137\n  Bound result 2233625729\n  Bound result 8\n  Bound result 4635\n  Bound result 10\n  Bound result 5000000000000000000\n  Bound result 360592248162557467291968609\n  Bound result 2907\n  Bound result 2531\n  Bound result 8750\n  Bound result 315539326900317235138788152\n  Bound result 100000000000000000000\n  Bound result 6324524542598122862304191\n  Bound result 419\n  Bound result 0\n  Bound result 7598\n  Bound result 3007\n  Bound result 7\n  Bound result 2\n  Bound result 1000000000000000000000000000\n  Bound result 0\n\n[PASS] test_HandlerExercisesPositiveSpendsAndRejections() (gas: 8164596)\nLogs:\n  Bound result 1\n  Bound result 499999999999999999999999999\n  Bound result 1\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639933\n  Bound result 1\n  Bound result 1\n  Bound result 1\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 9.79s (9.80s CPU time)\n\nRan 3 test suites in 9.79s (9.95s CPU time): 49 tests passed, 0 failed, 0 skipped (49 total tests)\n","passed":true},{"durationMs":35,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Ponziramid.approve(address,uint256)\",\"Ponziramid.transfer(address,uint256)\",\"Ponziramid.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.json\":16,\"LICENSE\":21,\"README.md\":139,\"VENDOR.md\":18,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Ponziramid.sol\":16,\"test/Ponziramid.t.sol\":489,\"test/PonziramidInvariant.t.sol\":264,\"test/PonziramidLaunch.t.sol\":191},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"bd0ec45e2979755698d2d29d925093abba004b770e8cc0dd20dd3bb7fd27cd9c","verifiedTreeHash":"fd962ba7c16a30ee75095422aea79f796c76a445","verifierVersion":"0.1.0+327e1e9f"}]}