{"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":"e7bdfcb5-0cf3-44bf-bb31-55b596a4964e","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"30ab4e7f17fb780b596465dc127a51e0ebbfca2808b1aaaecfd0b6994645d5f6","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"80d74004af825fd9d22af37f5df9435083ab1f69a011744f54ce070f99d9ff85","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"7787163d0aac1ad74198ee6a1364e86a34754f02987242939890fb34fe8e0574","dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","subagents":4,"tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"4ad3aeab966f1859706c52cb0c250ab36ebfa2078cb33d136c1a83482c3b67a1","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"d09c15b5d6a8c62057d499170f9de10b4fd55b3295103b8b94dd9da5c83a4f8a","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"26745066b5a38d1373d115054bb1a6f37d84ed859bcf78da47bb6c81fe978c54","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"15b04fc8f60521936b9e2b37c09a804685ec689fc98cd5b04510d986d3106a15","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"15b04fc8f60521936b9e2b37c09a804685ec689fc98cd5b04510d986d3106a15","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"834500503d5c059f386e62e1cf2e4585a35f194185870295a6d4f053d97a0808","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"4bf05ce10b0c3df6740fe129205f5bb70dd93abe088ec01ccd52b1124bb799cf","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","subagents":4,"tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Pepe (PEPE).\nToken name: Pepe\nToken symbol: PEPE\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"f45c17239ae0ba82943881764291698353aa0c71d7e47d14fc4e374c15c0460b","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"e7bdfcb5-0cf3-44bf-bb31-55b596a4964e","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2844-pepe"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52191","feedbackHash":"7a580a339825539638b6a4b1f6b494bf6719f5f957dbdbeacbb4d148ef94ddd7","nodeKey":"audit_economics","submissionHash":"30ab4e7f17fb780b596465dc127a51e0ebbfca2808b1aaaecfd0b6994645d5f6","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52173","feedbackHash":"8acabf1d15a5176275e267a107f87f63a5e7e1e6b4bb7c95940b7e4ce2a29001","nodeKey":"audit_flow","submissionHash":"80d74004af825fd9d22af37f5df9435083ab1f69a011744f54ce070f99d9ff85","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51492","feedbackHash":"ca9ed07c598892ee1bf5265e2d4ae356e3c1e67300c0a16b66d88c0a785991fc","nodeKey":"audit_judge","submissionHash":"7787163d0aac1ad74198ee6a1364e86a34754f02987242939890fb34fe8e0574","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51451","feedbackHash":"1e63249fcc21f840742ddea428101efd5b9afaf434d5fcd4420856972759b89d","nodeKey":"audit_math","submissionHash":"4ad3aeab966f1859706c52cb0c250ab36ebfa2078cb33d136c1a83482c3b67a1","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51084","feedbackHash":"a48c45f7efe5cf87c35dcf8da473f88512d42f5b657c4feccec42716e18a2f5d","nodeKey":"audit_permissions","submissionHash":"d09c15b5d6a8c62057d499170f9de10b4fd55b3295103b8b94dd9da5c83a4f8a","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52469","feedbackHash":"8dc7c90cf7cb7fd80bdda65cfb480f1fe7b7056b4631e298e0831f9281b65f33","nodeKey":"build_contract_project","submissionHash":"26745066b5a38d1373d115054bb1a6f37d84ed859bcf78da47bb6c81fe978c54","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51874","feedbackHash":"df96e73949ca0acbf4c5be424f72de768bc739b5de80c9ccb21433e346342531","nodeKey":"manifest","submissionHash":"834500503d5c059f386e62e1cf2e4585a35f194185870295a6d4f053d97a0808","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51005","feedbackHash":"f2069553340720c1ac330b601daef6c74821d549d04504ea9270fa56e1965842","nodeKey":"write_foundry_tests","submissionHash":"4bf05ce10b0c3df6740fe129205f5bb70dd93abe088ec01ccd52b1124bb799cf","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"6c9f71d437f5c9c96ad6843b5d9bae5a7dd9dd4533b82721c05c16ceeca822f3","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"d8245bccdd2368c4a404c0280330c84e97224a758e91a45e10f221e7061005fa","device":"8a0937587f04a986","findings":[],"hash":"26745066b5a38d1373d115054bb1a6f37d84ed859bcf78da47bb6c81fe978c54","nodeId":"aa98a438-36c8-4dc7-a42c-e6c1936d4eae","outcome":"completed","summary":"Implemented Pepe (PEPE): 1,000,000,000 tokens with 18 decimals, minted once to the deployer. No fees, administrative powers, or further minting.\n\nIncluded vendored dependencies and deployment/operations documentation.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passed.\n- `forge test` passed all 33 tests using the required fuzz seed.\n- `forge fmt --check` passed.\n\nProtected launch integration checks remain for the external verifier.","treeHash":"74601c2841a257b85c555b793fac6d02b62a355f","usage":{"cachedInputTokens":495104,"inputTokens":56418,"model":"gpt-6-astra","outputTokens":11875,"runtime":"codex","turns":5,"wallClockMs":261817}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"1f9cb1750ebf47ed","findings":[],"hash":"30ab4e7f17fb780b596465dc127a51e0ebbfca2808b1aaaecfd0b6994645d5f6","nodeId":"e7a96fff-a1af-4562-bf1b-1e946eecae1e","outcome":"completed","summary":"Review complete. The economics area is clean, and `.imd-findings.json` holds an empty findings list with seven coverage rows.\n\n**What I reviewed.** `src/Pepe.sol` is a 16-line contract inheriting OpenZeppelin ERC20 with a single constructor mint of one billion tokens to `msg.sender`. The five vendored OpenZeppelin files are byte-identical to upstream v5.0.2 (fetched and compared). The repository's 33 tests pass, including the stateful conservation invariant, and the tree is unchanged apart from the findings file.\n\n**Economic Security pass.** No external dependencies, oracles, callbacks or hooks exist. Transfers move the exact amount with no fee or burn. ERC-20 compliance holds: zero-address recipient, spender and owner all revert with ERC-6093 errors, and the maximum allowance is not decremented. The approve transaction-ordering race is a standard ERC-20 property the README documents, so I did not report it as a defect.\n\n**Invariant pass.** Total supply equals 10^27 forever: the constructor is the only mint, and a fuzz over random selectors found no path that changes supply or balances. Sum of balances equals total supply across all entry points. The 10/80/10 launch split partitions 10^27 with no dust, and the swarm's 2/8 sub-split is also whole.\n\n**Flow Gap pass.** Factory to distributor, factory to pool manager, factory to remainder, distributor to claimant, and pool manager to and from an ordinary trader each arrive exactly as sent. The constructor takes no arguments and mints to the caller, not `tx.origin`, so a CREATE2 factory receives the whole supply. The reachable runtime has no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n\n**Static-analysis lead.** The aderyn large-literal note at line 10 evaluates to exactly 10^27 and is style only.\n\n**Coverage.** All three entry points are marked `holds`, plus four invariant rows. Nothing was left unreached. Scratch tests were run and then removed.","treeHash":null,"usage":{"cachedInputTokens":346915,"inputTokens":194,"model":"claude-fable-5-1","outputTokens":9428,"runtime":"claude","turns":21,"wallClockMs":145787}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"79373c79d1351eba","findings":[],"hash":"4ad3aeab966f1859706c52cb0c250ab36ebfa2078cb33d136c1a83482c3b67a1","nodeId":"4ec21020-fe43-4e58-91ab-7dc706542ffc","outcome":"completed","summary":"The math review of Pepe is clean. No defects found, and the findings file holds an empty list with a full coverage record.\n\n**What was checked, per guide**\n\n- **Math Precision.** The token has no division, fee, scale conversion, downcast or rebase. The only arithmetic is OpenZeppelin's balance and allowance updates. The supply literal compiles to exactly 10^27 in the runtime bytecode, and divides by 10^18 with zero remainder. The aderyn large-literal lead is not a defect.\n- **Boundary.** The ABI exposes no receive, fallback or payable function, and the contract makes no external call. The only sentinel is the zero address, and both sides revert, so no mint or burn path is reachable after construction. A scratch suite fed 1 wei, the full supply, supply plus one, max uint, max minus one allowance, self-transfers and zero-value paths through all three entry points. All sixteen cases reverted or moved exactly what they should, with no wrap.\n- **Numerical Gap.** The conservation invariant holds under integer arithmetic because nothing truncates. The infinite-allowance sentinel is the one boundary-dependent branch, and it behaves as documented. Every unchecked block in the vendored ERC20 is bounded by a preceding revert guard.\n\n**Supporting evidence**\n\n- The vendored OpenZeppelin files are byte-identical to upstream v5.0.2.\n- The existing suite passes: 33 tests including the 256x64 stateful invariant.\n- A reachable-opcode walk of the runtime finds no DELEGATECALL, CALLCODE or SELFDESTRUCT, which is outside my area but is the floor's one severe check.\n\n**Coverage record** in `.imd-findings.json` has eight rows: the three listed entry points, all marked holds, plus five invariant and boundary rows. Nothing was unreached. The scratch test directory was removed, so the tree is unchanged apart from the findings file.","treeHash":null,"usage":{"cachedInputTokens":593151,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":12882,"runtime":"claude","turns":26,"wallClockMs":168482}},{"artifacts":[],"attempt":1,"bundleHash":"fa1498686c5844fde8fc20b4275954ad80b5522752e998b92aa229833e977352","device":"9b2fda471b13b14a","findings":[],"hash":"4bf05ce10b0c3df6740fe129205f5bb70dd93abe088ec01ccd52b1124bb799cf","nodeId":"b8514941-dabb-4da5-a01a-e5a6e1d00c85","outcome":"completed","summary":"Added 18 failure-path, boundary, and fuzz tests, plus expanded balance and allowance invariants.\n\nOffline `forge build` and `forge test` pass with the required seed: **51 passed, 0 failed**, including 32,768 invariant calls.\n\nOnly `test/` changed. No contract defects identified.","treeHash":"2059915668f25d693a7fa202116b91836f8aa604","usage":{"cachedInputTokens":821248,"inputTokens":89318,"model":"gpt-6-astra","outputTokens":14807,"runtime":"codex","turns":5,"wallClockMs":408150}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"be85220723d9ce9d","findings":[],"hash":"7787163d0aac1ad74198ee6a1364e86a34754f02987242939890fb34fe8e0574","nodeId":"5011305b-269e-4266-afbd-066dc5846ca4","outcome":"completed","summary":"I found no defects, so I kept no findings. `.imd-findings.json` holds an empty findings list and a coverage record for all three entry points, plus one row for the fixed supply. No other file was changed.\n\n**What I checked**\n- **The contract:** `src/Pepe.sol` is a plain token built on the vendored OpenZeppelin v5.0.2 ERC20, with nothing overridden. The vendored ERC20 code I read matches upstream (`_update`, `_approve`, `_spendAllowance`).\n  - The constructor mints 1,000,000,000 × 10^18 once to `msg.sender`, which is the factory during launch.\n  - There is no owner, no mint or burn after deployment, no pause, blacklist or freeze, and no transfer fee or burn. It uses no DELEGATECALL, SELFDESTRUCT or assembly.\n  - So the transfer to the distributor, the pool seed, claims and swaps each move exactly the amount stated.\n- **Entry points:**\n  - `approve` holds: it rejects a zero spender, sets the allowance and emits Approval.\n  - `transfer` holds: it rejects the zero address, reverts when the balance is too low and moves exactly the amount.\n  - `transferFrom` holds: it spends the allowance (an unlimited allowance is not reduced) and a revert undoes the allowance change.\n- **Manifest (`launch.json`):** It only uses keys the schema allows. `constructorArgs: []` matches the constructor, which takes no parameters. `totalSupply` is `1000000000000000000000000000`, which is what the constructor mints. Decimals are 18, the contract name `Pepe` is valid, and addresses are lowercase. I could not check the economics block against the job, because the job's figures aren't in this task.\n- **Tests:** I ran `forge test` on the existing suites and all 51 tests passed. I didn't run the protected tests, because they need the launch harness and its environment variables.\n- **Static analysis:** Aderyn's low-severity \"large numeric literal\" note on `src/Pepe.sol:10` is about style only and is not a defect. Slither reported nothing.\n- **Specialists:** None of the four specialists or the test writer reported a finding, so there was nothing to reproduce or merge.\n\nA clean review doesn't prove the code has no defects. It means none that I checked could be reproduced.","treeHash":null,"usage":{"cachedInputTokens":131507,"inputTokens":10,"model":"claude-opus-5-5","outputTokens":2519,"runtime":"claude","turns":5,"wallClockMs":60664}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c2e167266d13dcf4","findings":[],"hash":"80d74004af825fd9d22af37f5df9435083ab1f69a011744f54ce070f99d9ff85","nodeId":"493cadbe-9bbf-47ec-9521-c690d9f89e67","outcome":"completed","summary":"The review is complete. No tracked file was changed, and `.imd-findings.json` holds an empty findings list with eight coverage rows.\n\n**Outcome: no defects found.** Pepe is a two-line wrapper over OpenZeppelin ERC20 v5.0.2 with no overrides, so every entry point behaves exactly as that library specifies, and nothing in the Execution Trace, Periphery or First Principles guides yields a failing input.\n\nWhat I verified, and how:\n\n- **Entry points.** All three (`approve`, `transfer`, `transferFrom`) traced through `_approve`, `_transfer`, `_update` and `_spendAllowance`. Zero-address, insufficient-balance and insufficient-allowance paths revert atomically with no partial state. Infinite allowance is not decremented. The project's 33 tests and the 256-run invariant suite pass.\n- **Periphery.** The six vendored OpenZeppelin files were diffed byte-for-byte against upstream v5.0.2 and are identical. Pepe overrides nothing.\n- **Execution surface.** A PUSH-aware walk of the compiled runtime found no reachable CALL, STATICCALL, DELEGATECALL, CALLCODE, SELFDESTRUCT, CREATE or CREATE2. There is no receive or fallback, so ETH and unknown selectors revert. The ABI has no mint, burn, owner, pause or initialize function.\n- **First principles and launch flow.** A scratch Foundry test drove a CREATE2 factory deploy, confirmed the predicted address with no appended constructor args, moved 10 percent to a distributor, pulled 80 percent through a pool-manager stand-in via allowance, forwarded the remainder, paid claims including a 1-wei claim, and did a buy and sell-back. Every flow moved the exact amount and total supply stayed at 10^27. The scratch test was removed afterwards.\n- **Static-analysis lead.** The aderyn large-literal note on `INITIAL_SUPPLY` is the intended value, 1,000,000,000 × 10^18, confirmed by the constructor mint.\n\n**Noted but not reported as a defect.** The standard ERC-20 approve ordering race is reproducible (lowering an allowance from 100 to 50 lets a spender front-run and take 150). It is inherent to the ERC-20 interface, is explicitly documented in the README, and OpenZeppelin v5 removed `increaseAllowance` by design, so it is recorded in the coverage row rather than as a finding.\n\nNothing in my area was left unreached. The protected Owners test applies only to application contracts, of which this launch has none.","treeHash":null,"usage":{"cachedInputTokens":692070,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":14150,"runtime":"claude","turns":32,"wallClockMs":196412}},{"artifacts":[],"attempt":1,"bundleHash":"7847a3e1a8f60b792c8b4e3bd5118664b2b1efa1f21481eb4fd0a0899e659d85","device":"fb26479062458645","findings":[],"hash":"834500503d5c059f386e62e1cf2e4585a35f194185870295a6d4f053d97a0808","nodeId":"15ed6e40-b4cb-42a5-b7cd-b96abe745dfc","outcome":"completed","summary":"Done. The manifest is written and verified against the accepted tree.\n\n**What I wrote:** `launch.json` with kind custom_token, describing the single accepted contract `Pepe`.\n\n- Token entry names the Solidity contract `Pepe`, name Pepe, symbol PEPE, decimals 18, an empty constructorArgs list, and totalSupply of 10^27 minor units. That matches the constructor in `src/Pepe.sol:13`, which takes no parameters and mints INITIAL_SUPPLY to msg.sender once.\n- The contracts list is empty, since the accepted tree contains no application contracts.\n- The pool and economics objects are copied exactly from the launch reference: IMD as the paired currency, fee 12500, tick spacing 60, the one-to-one provenance price, and the requester's economics verbatim.\n- Notes describe the token's fixed supply, lack of admin powers and exact-amount transfers through the launch flows, in about a thousand characters.\n\n**Verification:** a script checked the manifest's keys, the verbatim economics, the supply string and the notes length. The build compiled cleanly and the full suite passed with the verifier's fuzz seed.\n\n| Check | Result |\n| --- | --- |\n| forge build | success |\n| forge test with pinned seed | 33 passed, 0 failed |\n\nGit status shows only the new launch.json. No other file was changed.","treeHash":"93f7e60586dcab3405f744825057ad2b60039ea9","usage":{"cachedInputTokens":125367,"inputTokens":130,"model":"claude-fable-5-1","outputTokens":2674,"runtime":"claude","turns":8,"wallClockMs":40334}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"7c0191a32541eb74","findings":[],"hash":"d09c15b5d6a8c62057d499170f9de10b4fd55b3295103b8b94dd9da5c83a4f8a","nodeId":"3d4c7b8e-5cd0-4817-9971-df6d3f7bc762","outcome":"completed","summary":"The permissions review of the Pepe token found no defects. The findings file is written with an empty list and six coverage rows, and the working tree is unchanged apart from that file.\n\n**What was reviewed.** The token at `src/Pepe.sol` is sixteen lines: a plain OpenZeppelin ERC20 whose constructor mints one billion tokens, 18 decimals, once to the deployer. I checked it against the Access Control, Trust Gap and Asymmetry guides from the Pashov reference, plus the Senior Auditor's Mindset.\n\n**Access Control.** There is no permission model to break. The compiled ABI holds only the nine standard ERC20 functions and one constant view. No owner, role, modifier, initializer, mint, burn, pause, blacklist, seize, upgrade, receive or fallback exists. Every state write is scoped to the caller's own balance or allowance through plain msg.sender.\n\n**Trust Gap.** The only privileged moment is construction, and it hands out nothing but the supply itself. A scratch probe confirmed the deployer cannot pull from a holder without that holder's approval and cannot re-run the mint through any selector. The vendored library is where a backdoor would hide, so I diffed all six files under lib against the upstream v5.0.2 release archive. All are byte-identical, and the archive hash matches DEPENDENCIES.md.\n\n**Asymmetry.** The paired surfaces are transfer against transferFrom and approve against spend-allowance. A fuzzed probe showed transfer and transferFrom write identical balance slots with identical deltas, differing only in the allowance slot, which only approve sets and only transferFrom decrements. Zero sender and zero receiver are rejected on both paths.\n\n**Static analysis lead.** The aderyn large-literal warning on line 10 is not a defect. The constant evaluates to exactly the stated supply and the existing tests assert it.\n\n**Checks run.** The project builds on solc 0.8.26, the existing 33 tests pass including the 256-run invariant, and my six scratch probes passed before I removed them.\n\n**Coverage.** All three listed entry points are marked `holds`, with three further rows for the constructor mint, the absence of any privileged role, and the library's integrity. Nothing in the area was left unreached.","treeHash":null,"usage":{"cachedInputTokens":494539,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":10177,"runtime":"claude","turns":27,"wallClockMs":155001}}],"verification":[{"checks":[{"durationMs":1080,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.01s\nCompiler run successful!\n","passed":true},{"durationMs":1508,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 32 tests for test/Pepe.t.sol:PepeTest\n[PASS] testFuzz_infiniteAllowanceIsNotDecremented(uint256) (runs: 1024, μ: 147490, ~: 147778)\nLogs:\n  Bound result 5071\n\n[PASS] testFuzz_transferConservesBalances(uint256,address) (runs: 1024, μ: 92947, ~: 93178)\nLogs:\n  Bound result 660\n\n[PASS] testFuzz_transferFromConservesBalancesAndAllowance(uint256,uint256) (runs: 1024, μ: 163016, ~: 165307)\nLogs:\n  Bound result 1776539798\n  Bound result 903217999\n\n[PASS] testFuzz_transferFromOverAllowanceAlwaysReverts(uint256) (runs: 1024, μ: 119660, ~: 119919)\nLogs:\n  Bound result 5071\n\n[PASS] testFuzz_transferOverBalanceAlwaysReverts(uint256) (runs: 1024, μ: 58868, ~: 59208)\nLogs:\n  Bound result 7816197563233266100479318875867201\n\n[PASS] test_approvalIsScopedToOwnerAndSpender() (gas: 140975)\n[PASS] test_approveEmitsEventReplacesAndRevokesAllowance() (gas: 157852)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9661)\n[PASS] test_directDeploymentMintsToCallerNotOrigin() (gas: 32786)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 37929)\n[PASS] test_factoryDeploymentAndLaunchTransfersAreExact() (gas: 581126)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 190030)\n[PASS] test_metadataAndInitialSupply() (gas: 107671)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 1982436)\n[PASS] test_rejectsEtherAndUnknownCalls() (gas: 58905)\n[PASS] test_revokedAllowanceCannotBeSpent() (gas: 118238)\n[PASS] test_selfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 110070)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 93519)\n[PASS] test_transferEntireSupply() (gas: 86039)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 105591)\n[PASS] test_transferFromConsumesAllowanceAndEmitsTransfer() (gas: 225349)\n[PASS] test_transferFromOverAllowanceRevertsWithoutChangingState() (gas: 116131)\n[PASS] test_transferFromOverBalanceRollsBackAllowance() (gas: 122167)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114430)\n[PASS] test_transferFromWithoutAllowanceRevertsEvenForDeployer() (gas: 110162)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37837)\n[PASS] test_transferOverBalanceRevertsWithoutChangingState() (gas: 65312)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71882)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 78683)\n[PASS] test_zeroTransferSucceedsAndEmitsEventWithNoBalance() (gas: 63068)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 31.09ms (155.92ms CPU time)\n\nRan 1 test for test/Pepe.invariant.t.sol:PepeInvariantTest\n[PASS] invariant_supplyAndBalancesRemainConserved() (runs: 256, calls: 16384, reverts: 0)\n\n╭-------------+--------------+-------+---------+----------╮\n| Contract    | Selector     | Calls | Reverts | Discards |\n+=========================================================+\n| PepeHandler | approve      | 5467  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| PepeHandler | transfer     | 5504  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| PepeHandler | transferFrom | 5413  | 0       | 0        |\n╰-------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 25\n  Bound result 0\n  Bound result 2609\n  Bound result 5180\n  Bound result 0\n  Bound result 0\n  Bound result 799422250154588328632629826\n  Bound result 2\n  Bound result 115206657241442407007700930\n  Bound result 0\n  Bound result 1233\n  Bound result 0\n  Bound result 1756\n  Bound result 1865\n  Bound result 0\n  Bound result 1\n  Bound result 0\n  Bound result 0\n  Bound result 4000000000000000000\n  Bound result 0\n  Bound result 3129\n  Bound result 0\n  Bound result 0\n  Bound result 8\n  Bound result 1104\n  Bound result 197689016618353314530505440\n  Bound result 297\n  Bound result 341\n  Bound result 1\n  Bound result 6732\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.39s (1.39s CPU time)\n\nRan 2 test suites in 1.39s (1.42s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":41,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pepe.approve(address,uint256)\",\"Pepe.transfer(address,uint256)\",\"Pepe.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":17,\"README.md\":56,\"foundry.toml\":21,\"remappings.txt\":2,\"src/Pepe.sol\":16,\"test/Pepe.invariant.t.sol\":90,\"test/Pepe.t.sol\":403},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":405,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":210,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Pepe.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"26745066b5a38d1373d115054bb1a6f37d84ed859bcf78da47bb6c81fe978c54","verifiedTreeHash":"74601c2841a257b85c555b793fac6d02b62a355f","verifierVersion":"0.1.0+b10502ca"},{"checks":[{"durationMs":1490,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.42s\nCompiler run successful!\n","passed":true},{"durationMs":10542,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 32 tests for test/Pepe.t.sol:PepeTest\n[PASS] testFuzz_infiniteAllowanceIsNotDecremented(uint256) (runs: 1024, μ: 147414, ~: 147778)\nLogs:\n  Bound result 557006370858477329054429\n\n[PASS] testFuzz_transferConservesBalances(uint256,address) (runs: 1024, μ: 92891, ~: 93536)\nLogs:\n  Bound result 2592286111\n\n[PASS] testFuzz_transferFromConservesBalancesAndAllowance(uint256,uint256) (runs: 1024, μ: 163108, ~: 165307)\nLogs:\n  Bound result 1000000000000000000000000000\n  Bound result 9\n\n[PASS] testFuzz_transferFromOverAllowanceAlwaysReverts(uint256) (runs: 1024, μ: 119582, ~: 119901)\nLogs:\n  Bound result 557006370858477512671503\n\n[PASS] testFuzz_transferOverBalanceAlwaysReverts(uint256) (runs: 1024, μ: 58863, ~: 59208)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564515083046644240346444250\n\n[PASS] test_approvalIsScopedToOwnerAndSpender() (gas: 140975)\n[PASS] test_approveEmitsEventReplacesAndRevokesAllowance() (gas: 157852)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9661)\n[PASS] test_directDeploymentMintsToCallerNotOrigin() (gas: 32786)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 37929)\n[PASS] test_factoryDeploymentAndLaunchTransfersAreExact() (gas: 581126)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 190030)\n[PASS] test_metadataAndInitialSupply() (gas: 107671)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 1982436)\n[PASS] test_rejectsEtherAndUnknownCalls() (gas: 58905)\n[PASS] test_revokedAllowanceCannotBeSpent() (gas: 118238)\n[PASS] test_selfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 110070)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 93519)\n[PASS] test_transferEntireSupply() (gas: 86039)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 105591)\n[PASS] test_transferFromConsumesAllowanceAndEmitsTransfer() (gas: 225349)\n[PASS] test_transferFromOverAllowanceRevertsWithoutChangingState() (gas: 116131)\n[PASS] test_transferFromOverBalanceRollsBackAllowance() (gas: 122167)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114430)\n[PASS] test_transferFromWithoutAllowanceRevertsEvenForDeployer() (gas: 110162)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37837)\n[PASS] test_transferOverBalanceRevertsWithoutChangingState() (gas: 65312)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71882)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 78683)\n[PASS] test_zeroTransferSucceedsAndEmitsEventWithNoBalance() (gas: 63068)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 309.71ms (1.28s CPU time)\n\nRan 18 tests for test/Pepe.behavior.t.sol:PepeBehaviorTest\n[PASS] testFuzz_failedSpendCanBeRetriedAfterFunding(uint256,uint256,uint256) (runs: 1024, μ: 1249648, ~: 1250309)\nLogs:\n  Bound result 2\n  Bound result 60384275604214931248325115\n  Bound result 4626607578914399021158296978317449214951745845877578555283\n\n[PASS] testFuzz_replacingAllowanceImmediatelyRestrictsSpender(uint256,uint256) (runs: 1024, μ: 1217898, ~: 1218856)\nLogs:\n  Bound result 1\n  Bound result 22464\n\n[PASS] testFuzz_spendersShareBalanceButCannotUseEachOthersAllowances(uint256) (runs: 1024, μ: 1357473, ~: 1357908)\nLogs:\n  Bound result 1000000000000000000000000000\n\n[PASS] testFuzz_splittingTransfersDoesNotChangeTheResult(uint256,uint256) (runs: 1024, μ: 217045, ~: 218514)\nLogs:\n  Bound result 18\n  Bound result 10\n\n[PASS] test_allowanceCannotBeSpentTwice() (gas: 1158598)\n[PASS] test_approvalDoesNotReserveOrLockTokens() (gas: 1286559)\n[PASS] test_holderUsingTransferFromNeedsItsOwnApproval() (gas: 287437)\n[PASS] test_maximumDelegatedTransferCannotOverflowOrMint() (gas: 1077315)\n[PASS] test_maximumMinusOneAllowanceIsFinite() (gas: 255494)\n[PASS] test_maximumTransferAmountRevertsWithBalanceError() (gas: 65406)\n[PASS] test_oneBaseUnitCanMakeACompleteRoundTrip() (gas: 208091)\n[PASS] test_repeatedApprovalIsIdempotentAndStillEmits() (gas: 1028236)\n[PASS] test_selfTransferStillChecksBalance() (gas: 2061711)\n[PASS] test_unlimitedAllowanceCanBeReducedThenRevoked() (gas: 1365798)\n[PASS] test_wellTypedAdminCallsCannotFreezeOrSeizeHoldings() (gas: 2692806)\n[PASS] test_zeroApprovalToZeroSpenderIsRejected() (gas: 40183)\n[PASS] test_zeroDelegatedTransferEmitsEventAndPreservesAllowance() (gas: 1034011)\n[PASS] test_zeroDelegatedTransferToZeroStillRevertsWithUnlimitedApproval() (gas: 1025981)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 313.98ms (1.24s CPU time)\n\nRan 1 test for test/Pepe.invariant.t.sol:PepeInvariantTest\n[PASS]\nPepeInvariantTest invariants:\n[PASS] invariant_allAllowancesMatchOwnerInstructions\n[PASS] invariant_eachBalanceMatchesAuthorizedTransfers\n[PASS] invariant_supplyAndBalancesRemainConserved\n PepeInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭-------------+---------------------------+-------+---------+----------╮\n| Contract    | Selector                  | Calls | Reverts | Discards |\n+======================================================================+\n| PepeHandler | approve                   | 3673  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | approveAndSpend           | 3675  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | rejectZeroAddress         | 3659  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | roundTrip                 | 3634  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | transfer                  | 3671  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | transferFrom              | 3610  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | transferFromOverAllowance | 3526  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | transferFromOverBalance   | 3649  | 0       | 0        |\n|-------------+---------------------------+-------+---------+----------|\n| PepeHandler | transferOverBalance       | 3671  | 0       | 0        |\n╰-------------+---------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 11761\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 5\n  Bound result 312699533442765404512167507726724583645675353\n  Bound result 8700\n  Bound result 0\n  Bound result 13162\n  Bound result 785343253837220517368138446\n  Bound result 152586104037189094518953677591357277\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129650841\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 2679976774\n  Bound result 2679976774\n  Bound result 2679976774\n  Bound result 999999999999999999999999998\n  Bound result 0\n  Bound result 0\n  Bound result 3000000000000000000\n  Bound result 3000000000000000000\n  Bound result 3000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 10000000000000000000\n  Bound result 10000000000000000000\n  Bound result 10000000000000000000\n  Bound result 0\n  Bound result 4\n  Bound result 4159\n  Bound result 1584\n  Bound result 1000000000\n  Bound result 0\n  Bound result 10993\n  Bound result 9\n  Bound result 9\n  Bound result 9\n  Bound result 1968\n  Bound result 1968\n  Bound result 1968\n  Bound result 295\n  Bound result 442\n  Bound result 442\n  Bound result 0\n  Bound result 61109210444095460752435727778303122016184896300956759912915038894760434510403\n  Bound result 1\n  Bound result 120\n  Bound result 120\n  Bound result 120\n  Bound result 2135\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129677431\n  Bound result 472514927331896394448868027958966661680\n  Bound result 324076748371897690540531415\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129638653\n  Bound result 1132\n  Bound result 1132\n  Bound result 5845\n  Bound result 0\n  Bound result 2221\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129653670\n  Bound result 3\n  Bound result 18\n  Bound result 18\n  Bound result 18\n  Bound result 10007\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639495\n  Bound result 370\n  Bound result 370\n  Bound result 370\n  Bound result 5000000000000000000\n  Bound result 5000000000000000000\n  Bound result 2\n  Bound result 128453916433134325534685362604396763756647427362445729672892286492554\n  Bound result 9473\n  Bound result 9473\n  Bound result 10\n  Bound result 4692990331332694431\n  Bound result 5787\n  Bound result 2679978522\n  Bound result 1957\n  Bound result 1681\n  Bound result 159\n  Bound result 4675\n  Bound result 18\n  Bound result 3207395\n  Bound result 5068\n  Bound result 115792089237316195423570985008687907853269984665639564039462584007913129650708\n  Bound result 4239\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129636335\n  Bound result 999999994999999999999989235\n  Bound result 294\n  Bound result 294\n  Bound result 0\n  Bound result 4\n  Bound result 4\n  Bound result 4\n  Bound result 3840\n  Bound result 0\n  Bound result 5000000000000000000\n  Bound result 0\n  Bound result 428\n  Bound result 428\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639933\n  Bound result 109\n  Bound result 115792089237316195423570985008687907853269984665640564039452584007913129643915\n  Bound result 281\n  Bound result 281\n  Bound result 281\n  Bound result 1000000000\n  Bound result 1000000000\n  Bound result 242\n  Bound result 461\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007912129651453\n  Bound result 115792089237316195423570985008687907853269984665639564039462584007913129646016\n  Bound result 5693\n  Bound result 22\n  Bound result 22\n  Bound result 440683873\n  Bound result 6561\n  Bound result 5044\n  Bound result 908266600\n  Bound result 908266600\n  Bound result 908266600\n  Bound result 10\n  Bound result 263\n  Bound result 18\n  Bound result 115792089237316195423570985008687907853269984665640564039452584007914129653333\n  Bound result 862357745948656246400581254278992296180734181957477\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639933\n  Bound result 10\n  Bound result 6\n  Bound result 6\n  Bound result 6\n  Bound result 115792089237316195423570985008687907853269984665640564039452584007915129640835\n  Bound result 25581174861498961132870693672251942428758707398361460798655528\n  Bound result 4274\n  Bound result 2283\n  Bound result 4999999998999999100\n  Bound result 999999994999999999999998177\n  Bound result 1000000000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 10.44s (10.44s CPU time)\n\nRan 3 test suites in 10.45s (11.07s CPU time): 51 tests passed, 0 failed, 0 skipped (51 total tests)\n","passed":true},{"durationMs":54,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pepe.approve(address,uint256)\",\"Pepe.transfer(address,uint256)\",\"Pepe.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":17,\"README.md\":56,\"foundry.toml\":21,\"remappings.txt\":2,\"src/Pepe.sol\":16,\"test/Pepe.behavior.t.sol\":354,\"test/Pepe.invariant.t.sol\":242,\"test/Pepe.t.sol\":403,\"test/README.md\":61},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"4bf05ce10b0c3df6740fe129205f5bb70dd93abe088ec01ccd52b1124bb799cf","verifiedTreeHash":"2059915668f25d693a7fa202116b91836f8aa604","verifierVersion":"0.1.0+b10502ca"},{"checks":[{"durationMs":1037,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 965.79ms\nCompiler run successful!\n","passed":true},{"durationMs":1446,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 32 tests for test/Pepe.t.sol:PepeTest\n[PASS] testFuzz_infiniteAllowanceIsNotDecremented(uint256) (runs: 1024, μ: 147490, ~: 147778)\nLogs:\n  Bound result 65894857089232869805164436\n\n[PASS] testFuzz_transferConservesBalances(uint256,address) (runs: 1024, μ: 92947, ~: 93178)\nLogs:\n  Bound result 2592286111\n\n[PASS] testFuzz_transferFromConservesBalancesAndAllowance(uint256,uint256) (runs: 1024, μ: 163016, ~: 165307)\nLogs:\n  Bound result 10\n  Bound result 1\n\n[PASS] testFuzz_transferFromOverAllowanceAlwaysReverts(uint256) (runs: 1024, μ: 119660, ~: 119919)\nLogs:\n  Bound result 11704\n\n[PASS] testFuzz_transferOverBalanceAlwaysReverts(uint256) (runs: 1024, μ: 58868, ~: 59208)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129651639\n\n[PASS] test_approvalIsScopedToOwnerAndSpender() (gas: 140975)\n[PASS] test_approveEmitsEventReplacesAndRevokesAllowance() (gas: 157852)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9661)\n[PASS] test_directDeploymentMintsToCallerNotOrigin() (gas: 32786)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 37929)\n[PASS] test_factoryDeploymentAndLaunchTransfersAreExact() (gas: 581126)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 190030)\n[PASS] test_metadataAndInitialSupply() (gas: 107671)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 1982436)\n[PASS] test_rejectsEtherAndUnknownCalls() (gas: 58905)\n[PASS] test_revokedAllowanceCannotBeSpent() (gas: 118238)\n[PASS] test_selfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 110070)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 93519)\n[PASS] test_transferEntireSupply() (gas: 86039)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 105591)\n[PASS] test_transferFromConsumesAllowanceAndEmitsTransfer() (gas: 225349)\n[PASS] test_transferFromOverAllowanceRevertsWithoutChangingState() (gas: 116131)\n[PASS] test_transferFromOverBalanceRollsBackAllowance() (gas: 122167)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114430)\n[PASS] test_transferFromWithoutAllowanceRevertsEvenForDeployer() (gas: 110162)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37837)\n[PASS] test_transferOverBalanceRevertsWithoutChangingState() (gas: 65312)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71882)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 78683)\n[PASS] test_zeroTransferSucceedsAndEmitsEventWithNoBalance() (gas: 63068)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 41.62ms (168.76ms CPU time)\n\nRan 1 test for test/Pepe.invariant.t.sol:PepeInvariantTest\n[PASS] invariant_supplyAndBalancesRemainConserved() (runs: 256, calls: 16384, reverts: 0)\n\n╭-------------+--------------+-------+---------+----------╮\n| Contract    | Selector     | Calls | Reverts | Discards |\n+=========================================================+\n| PepeHandler | approve      | 5467  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| PepeHandler | transfer     | 5504  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| PepeHandler | transferFrom | 5413  | 0       | 0        |\n╰-------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 25\n  Bound result 0\n  Bound result 2609\n  Bound result 5180\n  Bound result 0\n  Bound result 0\n  Bound result 799422250154588328632629826\n  Bound result 2\n  Bound result 115206657241442407007700930\n  Bound result 0\n  Bound result 1233\n  Bound result 0\n  Bound result 1756\n  Bound result 1865\n  Bound result 0\n  Bound result 1\n  Bound result 0\n  Bound result 0\n  Bound result 4000000000000000000\n  Bound result 0\n  Bound result 3129\n  Bound result 0\n  Bound result 0\n  Bound result 8\n  Bound result 1104\n  Bound result 197689016618353314530505440\n  Bound result 297\n  Bound result 341\n  Bound result 1\n  Bound result 6732\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.36s (1.36s CPU time)\n\nRan 2 test suites in 1.36s (1.40s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":35,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pepe.approve(address,uint256)\",\"Pepe.transfer(address,uint256)\",\"Pepe.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":17,\"README.md\":56,\"foundry.toml\":21,\"launch.json\":24,\"remappings.txt\":2,\"src/Pepe.sol\":16,\"test/Pepe.invariant.t.sol\":90,\"test/Pepe.t.sol\":403},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"834500503d5c059f386e62e1cf2e4585a35f194185870295a6d4f053d97a0808","verifiedTreeHash":"93f7e60586dcab3405f744825057ad2b60039ea9","verifierVersion":"0.1.0+b10502ca"}]}