{"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":"c1a879b4-87fc-450b-b002-dc6e57e8a6c3","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"5a929c4b348e94402232b4966d6b91244d5cc38b606dd857597d9beb5c553154","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":"2bcd18ae75813200d09003e618ae08fd3fe2b19f161eac74631a4b529cdf153c","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":"7b7c44788297a3b08add093f8be826f963b977b46d340e322f230cf348ee625e","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":"85c2a34b347f195f929d44ad7a2e14687c7cb189687086bf3858458035aa1c75","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":"edb60498e794e84ec24c2026c60531f70de47f8c7033200f28c68b9a81e8474f","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":"d58339b6ea52fb883e52bd8447c0b693362761b9ce820afb1a9baa9e621b3973","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":"29d7e21cf55be7dd5779120ab21f3d336e7d7e26c7472e970688381b486e65e3","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"263a0c2fae6926abb7b5cd54013de4238c89e4b26a08fdbbc02f8c360e3ddc33","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: Bankers In Control (BIC).\nToken name: Bankers In Control\nToken symbol: BIC\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"67faa73e38721f5e8befb8f93b45aa2be44ed000a2a55d2b9d94dd21fbc0a1fc","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"c1a879b4-87fc-450b-b002-dc6e57e8a6c3","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1502-bankers-in-control"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52253","feedbackHash":"321853d037d84e75e87990bbe95b97af54c2891389897ce796926154cac5ef5a","nodeKey":"audit_economics","submissionHash":"5a929c4b348e94402232b4966d6b91244d5cc38b606dd857597d9beb5c553154","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51476","feedbackHash":"3bd3026a82111b06ae5fe9e6fe14d50cefb64db7626e57cb993a04162695da7b","nodeKey":"audit_flow","submissionHash":"2bcd18ae75813200d09003e618ae08fd3fe2b19f161eac74631a4b529cdf153c","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52230","feedbackHash":"e1654b4bd179b5179db2cb145ae56c2b8248d21d474fb43b3f75f749cae10816","nodeKey":"audit_judge","submissionHash":"7b7c44788297a3b08add093f8be826f963b977b46d340e322f230cf348ee625e","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51345","feedbackHash":"329a847c739bc41d4502df67f9060e3e06c15b97a4bffc57bc71e949f635d12d","nodeKey":"audit_math","submissionHash":"85c2a34b347f195f929d44ad7a2e14687c7cb189687086bf3858458035aa1c75","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52264","feedbackHash":"2353c5312e0b9256404de51f5cddabd23398be00615a660bdc4a9d7e00698519","nodeKey":"audit_permissions","submissionHash":"edb60498e794e84ec24c2026c60531f70de47f8c7033200f28c68b9a81e8474f","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51221","feedbackHash":"322dbfe6802a1b2a2192d8e6ef1fdca75032e391e1ee9fff3f3de0e8433544cc","nodeKey":"build_contract_project","submissionHash":"d58339b6ea52fb883e52bd8447c0b693362761b9ce820afb1a9baa9e621b3973","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52273","feedbackHash":"1c7889e14c3b4203bb71d7630514f86e27c64a1dbb0df639ca5b179780a308cd","nodeKey":"manifest","submissionHash":"29d7e21cf55be7dd5779120ab21f3d336e7d7e26c7472e970688381b486e65e3","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52224","feedbackHash":"f2c9c2efc937fcb057c56661dbe88ef0c009b0920b7721011da93236c1e6fcaa","nodeKey":"write_foundry_tests","submissionHash":"263a0c2fae6926abb7b5cd54013de4238c89e4b26a08fdbbc02f8c360e3ddc33","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"2dbbf88ca1f2bff1c9461ca8528599487e5faeca868fa93a56bf60eb0f07113f","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"9544dafedd7b51286373f9e6356e80abce2f964c1a60f5957f5b1c406c841604","device":"2a2028177fd413f2","findings":[],"hash":"263a0c2fae6926abb7b5cd54013de4238c89e4b26a08fdbbc02f8c360e3ddc33","nodeId":"56987d0c-ea06-4125-be81-65c8217b05dc","outcome":"completed","summary":"Added 19 edge-case and fuzz tests, and strengthened balance, allowance, and supply invariants across 32,768 randomized calls.\n\nOffline `forge build` and `forge test` pass: 49 tests, zero failures. Only `test/` changed. No implementation defects found.","treeHash":"17b6ccf0dcb352d4e27efc06524c67b46991d78b","usage":{"cachedInputTokens":1153280,"inputTokens":86013,"model":"gpt-6-astra","outputTokens":18507,"runtime":"codex","turns":6,"wallClockMs":582667}},{"artifacts":[],"attempt":1,"bundleHash":"11e326aebda9022696e0eef8afce290e223b64f972107da235b9b1b605cc7176","device":"d13d3bb393e39302","findings":[],"hash":"29d7e21cf55be7dd5779120ab21f3d336e7d7e26c7472e970688381b486e65e3","nodeId":"3eee3942-850c-41fb-a350-fa55c67a315d","outcome":"completed","summary":"Created [launch.json](/home/imd1/.identitymd/work/c1a879b4-87fc-450b-b002-dc6e57e8a6c3/3eee3942-850c-41fb-a350-fa55c67a315d/launch.json) matching `BICToken`’s no-argument constructor, exact supply, and required pool and economics.\n\n`forge build` succeeded; all 30 tests passed. Local manifest checks passed. Only `launch.json` changed.","treeHash":"f3ab50ab34b36fdfca18eebe228606066c847738","usage":{"cachedInputTokens":93626,"inputTokens":28902,"model":"gpt-6.1-sol","outputTokens":1309,"runtime":"codex","turns":2,"wallClockMs":31474}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"e9049e5b12ba53ba","findings":[],"hash":"2bcd18ae75813200d09003e618ae08fd3fe2b19f161eac74631a4b529cdf153c","nodeId":"71b69e7b-6249-46ea-a9d1-e67e2e8bc99a","outcome":"completed","summary":"I found no defects in Bankers In Control (BIC), so `.imd-findings.json` has an empty findings list and a coverage row for each entry point.\n\n**What the code is:** `src/BICToken.sol` is a plain OpenZeppelin v5 ERC20 with nothing changed. Its constructor mints `1_000_000_000 * 10**18` once, to `msg.sender` (the factory). It overrides nothing, and it has no owner, mint, burn, pause, blacklist, upgrade or fee-on-transfer.\n\n**Execution Trace:**\n- **`transfer` and `transferFrom`:** both go through OpenZeppelin's `_update`. The sender's balance must cover the amount or the call reverts, and the receiver is credited exactly what was sent. So the factory-to-distributor move, the distributor-to-claimant move, the pool seed and swaps both ways all move exact amounts.\n- **Allowances:** `_spendAllowance` reverts when the allowance is too small and leaves an unlimited allowance untouched.\n- **Zero addresses:** transfers to or from the zero address, and approvals for it, revert.\n- **External calls and reentrancy:** there are no external calls, callbacks or hooks, so nothing can be re-entered.\n\n**Periphery and First Principles:**\n- **Supply:** the only mint is in the constructor, so the supply cannot grow after launch.\n- **Decimals:** `decimals()` returns 18, as the brief states.\n- **Bytecode:** I scanned the compiled runtime code (1,752 bytes). It contains no `DELEGATECALL`, `CALLCODE` or `SELFDESTRUCT`.\n- **Privileged calls:** none exist, so nobody can move or freeze a holder's balance. Of the protected launch checks, this answers the supply, decimals, privileged-call and bytecode tests, and explains why the swarm share, seed and swaps arrive whole. I did not run that test file itself, because it needs launch values (such as the factory address and pool price) that aren't set here.\n- **Static analysis:** aderyn flagged a large number on `src/BICToken.sol:10`. That is just the supply constant, written readably; it is not a defect.\n\n**Coverage:** `approve`, `transfer` and `transferFrom` are each marked `holds`. I also added a row for the fixed-supply rule, which holds.\n\n**Tests:** the project's own suite passed, 30 of 30, including the invariant test with 16,384 random calls and no reverts.\n\nI changed no project files; the only file written is `.imd-findings.json`.","treeHash":null,"usage":{"cachedInputTokens":178399,"inputTokens":10,"model":"claude-opus-5-5","outputTokens":2714,"runtime":"claude","turns":5,"wallClockMs":33849}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"7591760a616c6429","findings":[],"hash":"5a929c4b348e94402232b4966d6b91244d5cc38b606dd857597d9beb5c553154","nodeId":"899bbca9-1cc6-4f3b-a20c-1bf79eb58651","outcome":"completed","summary":"The review is complete. No defects were found, and the findings file is written with an empty list and a full coverage record. The working tree is clean apart from that file.\n\n**What I checked**\n\n- **Token source.** BICToken is a bare OpenZeppelin ERC20 with no overrides. The constructor mints exactly 10^27 base units to msg.sender and takes no arguments, so a factory deployment leaves the whole supply at the factory.\n- **Library provenance.** The five vendored OpenZeppelin files are byte-identical to upstream v5.0.2. The vendored forge-std v1.9.7 differs from upstream only in whitespace from a formatter pass, so the test harness is genuine.\n- **Economic Security guide.** There are no external dependencies, oracles, hooks or callbacks. There is no fee, rebase, pause or blacklist. Sentinel addresses revert on transfer and approve. All three entry points return true.\n- **Invariant guide.** Balance conservation and fixed supply hold on every path, since mint and burn are internal with no post-construction caller. The project's own invariant suite and my scratch tests both passed.\n- **Flow Gap guide.** Every launch flow the protected harness drives reduces to stock ERC-20 transfer or transferFrom. A scratch test deployed the token via CREATE2 from a factory stand-in, split 10/80/10, claimed from the distributor, and pushed and pulled through a pool-manager stand-in. Every amount arrived exact.\n- **Static-analysis leads.** The aderyn large-literal note is the intended supply constant, not a defect.\n\n**What I could not run**\n\nThe supplied protected test needs Uniswap v4-core and the verifier's helper contracts, which are not in this tree. Its token-side flows are plain ERC-20 calls that I exercised directly instead.\n\n**One note for the judge, not a finding.** The standard ERC-20 allowance-replacement race exists, as it does in every compliant token. The README documents the revoke-then-approve mitigation. It is recorded in the coverage row for approve rather than reported as a defect.","treeHash":null,"usage":{"cachedInputTokens":637388,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":13173,"runtime":"claude","turns":25,"wallClockMs":187676}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"04f946173ab09bec","findings":[],"hash":"7b7c44788297a3b08add093f8be826f963b977b46d340e322f230cf348ee625e","nodeId":"6bd82c7a-38cd-4e5c-81b3-6af0e00453ca","outcome":"completed","summary":"The review is complete. The findings file is written and validated, and the working tree shows no other changes.\n\n**Result: no defects found.** The audit of the Bankers In Control token stands as the four specialists and the independent tester reported it.\n\nWhat I verified against the code in `src/BICToken.sol`:\n\n- **Contract is minimal.** It inherits the vendored OpenZeppelin v5 ERC20 unchanged, with a no-argument constructor that mints the full supply to msg.sender. There is no owner, mint, burn, pause, blacklist, or upgrade path in the ABI.\n- **Supply and manifest agree.** The compile-time constant equals the manifest's totalSupply exactly, decimals default to 18, and constructorArgs is empty to match the parameterless constructor.\n- **Deployable under the factory model.** Creation code is 2,646 bytes and runtime 1,752 bytes, well under the protocol limits. A scan of the compiled runtime found no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- **Launch flows move exact amounts.** With no transfer hook, the swarm share, the pool seed and trader swaps all deliver what they say, so the protected floor test's assertions hold.\n- **Dependencies are vendored as ordinary files.** No git submodules, and the ERC20 internals match upstream v5 semantics.\n- **Static-analysis lead dismissed.** The aderyn large-numeric-literal note is stylistic. The literal evaluates to exactly 1e27 with no overflow.\n\nThe existing suite of 49 tests, including fuzz and invariant runs, passes. The output file holds an empty findings list and seven coverage rows, one for each of the three entry points plus the invariants checked.","treeHash":null,"usage":{"cachedInputTokens":293438,"inputTokens":194,"model":"claude-fable-5-1","outputTokens":4461,"runtime":"claude","turns":7,"wallClockMs":134979}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"fba19b641cdd6f27","findings":[],"hash":"85c2a34b347f195f929d44ad7a2e14687c7cb189687086bf3858458035aa1c75","nodeId":"e0f25396-ba2f-4fb9-9ab9-d019ae0bcbc0","outcome":"completed","summary":"The review is complete. The findings file is written, the tree is otherwise clean, and nothing in the kept files was modified.\n\n**Outcome: no defects found in the Math Precision, Boundary, or Numerical Gap area.** The findings file at the repository root holds an empty list and eight coverage rows, one per listed entry point plus the invariants I checked.\n\nWhat I verified:\n\n- **The token has no custom arithmetic.** It is an unmodified OpenZeppelin ERC-20 with a single constructor mint. All five vendored library files were fetched from upstream v5.0.2 and diffed byte-for-byte, so the only math in scope is OpenZeppelin's audited balance and allowance paths.\n- **The supply constant is exact.** The compile-time expression on line 10 of the token source evaluates to the literal 10^27, matching the brief and the README. This closes the aderyn large-literal lead.\n- **Boundary edges behave as intended.** A scratch test exercised max-uint transfers, supply-plus-one, full self-transfer, zero-amount transferFrom with no allowance, transferFrom from the zero address, allowance one below the infinite sentinel, plain ETH sends, and unknown selectors. All seven tests passed and the project's own 30 tests also pass.\n- **No rounding seams exist.** There is no division, scaling, downcast, or fixed-point anywhere, so balance conservation holds exactly. A dust fuzz over 1000 runs confirmed it. The 10/80/10 launch split of 10^27 is dust-free and cannot overflow in the protected harness.\n- **No external boundaries.** The token makes no external calls and has no payable, receive, fallback, or bytes decoding. The only sentinel branches are the OpenZeppelin zero-address guards, which I traced on both sides.\n\nWhat I did not report: the standard ERC-20 approve replacement race. It is inherent to the specification, documented in the README, and not a defect in this code.\n\nNothing in my area was left unreached. Coverage rows cite the specific check or test behind each verdict so the judge can reproduce them.","treeHash":null,"usage":{"cachedInputTokens":848749,"inputTokens":386,"model":"claude-fable-5-1","outputTokens":12742,"runtime":"claude","turns":24,"wallClockMs":204250}},{"artifacts":[],"attempt":1,"bundleHash":"3e8b0a916ea1ab6a2ee0d679a5715699fa4ddc237389f2f115545b51a8364a06","device":"9d2479a5270b8df1","findings":[],"hash":"d58339b6ea52fb883e52bd8447c0b693362761b9ce820afb1a9baa9e621b3973","nodeId":"0eaa1d62-4caf-488b-8f33-67bb8a816a32","outcome":"completed","summary":"Implemented `BICToken`: Bankers In Control (BIC), with 18 decimals and exactly 1,000,000,000 tokens minted once to the deployer.\n\nDependencies are vendored for offline builds. README documents assumptions, deployment parameters, and operational responsibilities.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passes.\n- `forge test`: all 30 tests pass, including fuzz and invariant checks.\n- `forge fmt --check` passes.\n- Fresh offline build and parallel tests pass.","treeHash":"615268723ffb6ff0728423fb4ce70c5ed106f2b8","usage":{"cachedInputTokens":340865,"inputTokens":50530,"model":"gpt-6.1-sol","outputTokens":10121,"runtime":"codex","turns":5,"wallClockMs":173688}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c97fd6a73e3737dc","findings":[],"hash":"edb60498e794e84ec24c2026c60531f70de47f8c7033200f28c68b9a81e8474f","nodeId":"6d00b6d5-b87d-46a8-a398-48319b6407fd","outcome":"completed","summary":"The review is complete. No defects found in the Access Control, Trust Gap or Asymmetry areas, and the findings file records that with full coverage.\n\n**What was reviewed**\n\n- `src/BICToken.sol` is a 16-line contract: it inherits OpenZeppelin ERC20 and mints the full supply to the constructor caller once. It adds no owner, role, initializer, hook, fee branch or exemption, so the entire permission surface is the inherited ERC20.\n- All five vendored OpenZeppelin files hash-match the upstream v5.0.2 tag byte for byte, so the inherited `_approve`, `_update`, `_spendAllowance` and `_msgSender` paths are the audited originals.\n- The compiled ABI exposes only the constructor, the views, and the three listed entry points. There is no receive or fallback, and mint, burn, pause, blacklist, owner, permit and upgrade selectors all revert from both the deployer and a stranger.\n\n**Checks against the three guides**\n\n- Access Control: every state write is keyed on the caller's own balance or allowance row. No inconsistent guards exist because no two functions write the same slot under different guards. No initialization, escalation, deputy or proxy path exists.\n- Asymmetry: transfer and transferFrom share the same `_transfer` body. The only difference is the allowance decrement, which is the intended pairing with approve. No admin variants exist to diverge from user paths.\n- Trust Gap: the factory holds the whole supply after construction, as the launch requires, and has no power beyond an ordinary holder afterwards. Launch flows to the distributor, pool manager and claimants deliver exact amounts since there are no fee or exemption branches.\n\n**Evidence**\n\n- The project's 30 tests pass, including the stateful invariant suite with revert-on-failure.\n- A scratch test under `test/scratch/` confirmed the deployer and a stranger cannot pull from a holder without allowance, approve binds only the caller, and no extra selectors answer. It is not kept.\n- The aderyn large-numeric-literal lead is a style note on a compile-time constant that equals the manifest supply. It is recorded in coverage, not as a finding.\n\n**Output**\n\n`.imd-findings.json` holds an empty findings list and eight coverage rows: `holds` for all three entry points and the constructor, plus four invariant rows covering hidden entry points, library provenance, supply conservation and the static-analysis lead. No tracked files were modified.","treeHash":null,"usage":{"cachedInputTokens":633668,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":9028,"runtime":"claude","turns":25,"wallClockMs":156318}}],"verification":[{"checks":[{"durationMs":2505,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 2.33s\nCompiler run successful!\n","passed":true},{"durationMs":20710,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 19 tests for test/BICToken.edges.t.sol:BICTokenEdgesTest\n[PASS] testFuzz_AllowanceShortfallCannotSpendFundedBalance(uint256,uint256,uint256) (runs: 1000, μ: 206743, ~: 208062)\nLogs:\n  Bound result 866067538379017000063833596\n  Bound result 453726097744460995818644660\n  Bound result 525839883928015990236022976\n\n[PASS] testFuzz_ApprovalDoesNotReserveOwnersBalance(uint256) (runs: 1000, μ: 210831, ~: 210821)\nLogs:\n  Bound result 3792478066\n\n[PASS] testFuzz_ApprovalReplacementIsIsolatedAndIdempotent(uint256,uint256) (runs: 1000, μ: 322342, ~: 322377)\n[PASS] testFuzz_BalanceShortfallPreservesFiniteAllowance(uint256,uint256,uint256) (runs: 1000, μ: 213505, ~: 213872)\nLogs:\n  Bound result 1000000000000000000\n  Bound result 115792089237316195423570985008687907853269984665640564039456584007913129662793\n  Bound result 115792089237316195423570985008687907853269984665640564039456613632376592577002\n\n[PASS] testFuzz_SplitTransferMatchesSingleTransfer(uint256,uint256) (runs: 1000, μ: 206632, ~: 207746)\nLogs:\n  Bound result 775424710006563396936626655\n  Bound result 683589412994119187159213840\n\n[PASS] testFuzz_TransferRoundTripPreservesBalancesAndApprovals(uint256,uint256,uint256,uint256) (runs: 1000, μ: 315212, ~: 316724)\nLogs:\n  Bound result 2\n  Bound result 5181\n  Bound result 0\n\n[PASS] test_AllowanceAuthorizesCallerNotRecipientOrTransactionOrigin() (gas: 198430)\n[PASS] test_AllowancesAreIsolatedBetweenOwnersAndSpenders() (gas: 404198)\n[PASS] test_ExhaustedAllowanceCannotBeReplayedAgainstAnotherRecipient() (gas: 187149)\n[PASS] test_InfiniteApprovalCanBeReplacedAndRevokedAfterSpending() (gas: 329953)\n[PASS] test_MaximumMinusOneAllowanceIsFinite() (gas: 205018)\n[PASS] test_MaximumTransferCannotBypassBalanceWithInfiniteApproval() (gas: 156689)\n[PASS] test_OneMinorUnitCanBeTransferredSpentAndReturned() (gas: 276244)\n[PASS] test_SelfTransferStillRequiresSufficientBalance() (gas: 92935)\n[PASS] test_TransferFromByOwnerRequiresItsOwnAllowance() (gas: 192302)\n[PASS] test_TransferToTokenContractDoesNotBurnOrGiveDeployerAccess() (gas: 134229)\n[PASS] test_ZeroApprovalToZeroSpenderReverts() (gas: 48025)\n[PASS] test_ZeroCallerCannotTransferOrApproveEvenZero() (gas: 100768)\n[PASS] test_ZeroTransferFromPreservesFiniteAndInfiniteApprovalsAndEmits() (gas: 496782)\nSuite result: ok. 19 passed; 0 failed; 0 skipped; finished in 170.28ms (787.78ms CPU time)\n\nRan 29 tests for test/BICToken.t.sol:BICTokenTest\n[PASS] testFuzz_ApprovedTransferConservesSupply(uint256,uint256) (runs: 1000, μ: 172637, ~: 174539)\nLogs:\n  Bound result 127\n  Bound result 11\n\n[PASS] testFuzz_RevertTransferAboveSupply(uint256) (runs: 1000, μ: 58808, ~: 59136)\nLogs:\n  Bound result 1402126445967881655181013098451831\n\n[PASS] testFuzz_RevertUnapprovedSpending(uint256) (runs: 1000, μ: 61389, ~: 61132)\nLogs:\n  Bound result 590269137794586529534967415\n\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 1000, μ: 101589, ~: 101931)\nLogs:\n  Bound result 0\n\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 157865)\n[PASS] test_ConstructorEmitsSingleMint() (gas: 9713)\n[PASS] test_FactoryReceivesSupplyInsteadOfTransactionOrigin() (gas: 214344)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 128887)\n[PASS] test_LaunchDistributionAndClaimDeliverExactAmounts() (gas: 278581)\n[PASS] test_MetadataAndInitialSupply() (gas: 97134)\n[PASS] test_NoMintOrPrivilegedBalanceControlsForDeployerOrStranger() (gas: 612120)\n[PASS] test_RevertApproveZeroSpender() (gas: 30387)\n[PASS] test_RevertRevokedAllowanceCannotBeSpent() (gas: 110492)\n[PASS] test_RevertTransferAboveBalance() (gas: 54927)\n[PASS] test_RevertTransferFromAboveAllowance() (gas: 115730)\n[PASS] test_RevertTransferFromAboveBalanceRollsBackAllowance() (gas: 113525)\n[PASS] test_RevertTransferFromToZeroRollsBackAllowance() (gas: 103758)\n[PASS] test_RevertTransferFromWithoutApproval() (gas: 57757)\n[PASS] test_RevertTransferFromZeroSenderEvenForZeroAmount() (gas: 35362)\n[PASS] test_RevertTransferToZeroAddress() (gas: 37253)\n[PASS] test_RevertZeroTransferToZeroAddress() (gas: 30436)\n[PASS] test_RuntimeHasNoForbiddenOpcodes() (gas: 786589)\n[PASS] test_SelfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 107588)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51463)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91461)\n[PASS] test_TransferFromSpendsFiniteAllowance() (gas: 204137)\n[PASS] test_TransferFullBalance() (gas: 75787)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 53572)\n[PASS] test_ZeroTransferFromUnfundedAccountEmitsEvent() (gas: 50476)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 170.37ms (700.01ms CPU time)\n\nRan 1 test for test/BICToken.invariant.t.sol:BICTokenInvariantTest\n[PASS]\nBICTokenInvariantTest invariants:\n[PASS] invariant_AllowancesMatchApprovalsAndSuccessfulSpending\n[PASS] invariant_EachBalanceMatchesAuthorizedMovements\n[PASS] invariant_SupplyIsFixedAndBalancesConserved\n BICTokenInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭--------------+----------------------------------+-------+---------+----------╮\n| Contract     | Selector                         | Calls | Reverts | Discards |\n+==============================================================================+\n| TokenHandler | approve                          | 2632  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | approveAndTransferFrom           | 2752  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectApproveToZero              | 2789  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectTransferAboveBalance       | 2709  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectTransferFromAboveAllowance | 2856  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectTransferFromAboveBalance   | 2751  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectTransferFromToZero         | 2681  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | rejectTransferToZero             | 2683  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | revokeAndRejectSpending          | 2730  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | transfer                         | 2684  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | transferFrom                     | 2786  | 0       | 0        |\n|--------------+----------------------------------+-------+---------+----------|\n| TokenHandler | transferFullBalance              | 2715  | 0       | 0        |\n╰--------------+----------------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 200000000000000000000000000\n  Bound result 200000000000000000000000000\n  Bound result 200000000000000000000000000\n  Bound result 200000000000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 8097\n  Bound result 115792089237316195423570985008687907853269984665640364039457584007913129649442\n  Bound result 2\n  Bound result 96\n  Bound result 95\n  Bound result 127\n  Bound result 40\n  Bound result 115792089237316195423570985008687907853269984665640364039557584007913129639935\n  Bound result 6951\n  Bound result 13\n  Bound result 255\n  Bound result 10\n  Bound result 599290590\n  Bound result 1413\n  Bound result 2\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639900\n  Bound result 10\n  Bound result 2592286113\n  Bound result 54195713075018346695497929\n  Bound result 115792089237316195423570985008687907853269984665639964039457584007913129640538\n  Bound result 6274\n  Bound result 817\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640309843844508989566434142004\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639905\n  Bound result 0\n  Bound result 0\n  Bound result 3035\n  Bound result 51\n  Bound result 12711705342140\n  Bound result 0\n  Bound result 9\n  Bound result 50\n  Bound result 5799\n  Bound result 4731\n  Bound result 115792089237316195423570985008687907853269984665639964039457584007913129640169\n  Bound result 0\n  Bound result 0\n  Bound result 8\n  Bound result 0\n  Bound result 4645\n  Bound result 8\n  Bound result 8142\n  Bound result 115792089237316195423570985008687907853269984665640034634942941431382055253213\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129638476\n  Bound result 115792089237316195423570985008687907853269984665640418235170659026259825137893\n  Bound result 0\n  Bound result 127\n  Bound result 5\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 4152\n  Bound result 2\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 6\n  Bound result 115792089237316195423570985008687907853269984665639709843744508989566434142007\n  Bound result 4793\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639709843784508989566434141996\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 3271\n  Bound result 4732\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129639941\n  Bound result 0\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639932\n  Bound result 0\n  Bound result 0\n  Bound result 1205\n  Bound result 3080\n  Bound result 0\n  Bound result 47212682317451481232614591218676350388465749241600796517117158666359810323316\n  Bound result 115792089237316195423570985008687907853269984665640498566321595041795137993175\n  Bound result 4324\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 20.56s (20.54s CPU time)\n\nRan 3 test suites in 20.57s (20.90s CPU time): 49 tests passed, 0 failed, 0 skipped (49 total tests)\n","passed":true},{"durationMs":80,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BICToken.approve(address,uint256)\",\"BICToken.transfer(address,uint256)\",\"BICToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":55,\"foundry.toml\":18,\"remappings.txt\":2,\"src/BICToken.sol\":16,\"test/BICToken.edges.t.sol\":330,\"test/BICToken.invariant.t.sol\":277,\"test/BICToken.t.sol\":317,\"test/README.md\":39},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"263a0c2fae6926abb7b5cd54013de4238c89e4b26a08fdbbc02f8c360e3ddc33","verifiedTreeHash":"17b6ccf0dcb352d4e27efc06524c67b46991d78b","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1032,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 935.78ms\nCompiler run successful!\n","passed":true},{"durationMs":1254,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 29 tests for test/BICToken.t.sol:BICTokenTest\n[PASS] testFuzz_ApprovedTransferConservesSupply(uint256,uint256) (runs: 1000, μ: 172219, ~: 174539)\nLogs:\n  Bound result 1\n  Bound result 1\n\n[PASS] testFuzz_RevertTransferAboveSupply(uint256) (runs: 1000, μ: 58805, ~: 59136)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129641188\n\n[PASS] testFuzz_RevertUnapprovedSpending(uint256) (runs: 1000, μ: 61387, ~: 61132)\nLogs:\n  Bound result 1000000000\n\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 1000, μ: 101583, ~: 101931)\nLogs:\n  Bound result 60\n\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 157865)\n[PASS] test_ConstructorEmitsSingleMint() (gas: 9713)\n[PASS] test_FactoryReceivesSupplyInsteadOfTransactionOrigin() (gas: 214344)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 128887)\n[PASS] test_LaunchDistributionAndClaimDeliverExactAmounts() (gas: 278581)\n[PASS] test_MetadataAndInitialSupply() (gas: 97134)\n[PASS] test_NoMintOrPrivilegedBalanceControlsForDeployerOrStranger() (gas: 612120)\n[PASS] test_RevertApproveZeroSpender() (gas: 30387)\n[PASS] test_RevertRevokedAllowanceCannotBeSpent() (gas: 110492)\n[PASS] test_RevertTransferAboveBalance() (gas: 54927)\n[PASS] test_RevertTransferFromAboveAllowance() (gas: 115730)\n[PASS] test_RevertTransferFromAboveBalanceRollsBackAllowance() (gas: 113525)\n[PASS] test_RevertTransferFromToZeroRollsBackAllowance() (gas: 103758)\n[PASS] test_RevertTransferFromWithoutApproval() (gas: 57757)\n[PASS] test_RevertTransferFromZeroSenderEvenForZeroAmount() (gas: 35362)\n[PASS] test_RevertTransferToZeroAddress() (gas: 37253)\n[PASS] test_RevertZeroTransferToZeroAddress() (gas: 30436)\n[PASS] test_RuntimeHasNoForbiddenOpcodes() (gas: 786589)\n[PASS] test_SelfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 107588)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51463)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91461)\n[PASS] test_TransferFromSpendsFiniteAllowance() (gas: 204137)\n[PASS] test_TransferFullBalance() (gas: 75787)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 53572)\n[PASS] test_ZeroTransferFromUnfundedAccountEmitsEvent() (gas: 50476)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 23.51ms (95.21ms CPU time)\n\nRan 1 test for test/BICToken.invariant.t.sol:BICTokenInvariantTest\n[PASS] invariant_SupplyIsFixedAndBalancesConserved() (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------+--------------+-------+---------+----------╮\n| Contract     | Selector     | Calls | Reverts | Discards |\n+==========================================================+\n| TokenHandler | approve      | 5423  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transfer     | 5467  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transferFrom | 5494  | 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 2326\n  Bound result 2238\n  Bound result 2015\n  Bound result 0\n  Bound result 107477463\n  Bound result 0\n  Bound result 476\n  Bound result 5094\n  Bound result 0\n  Bound result 3440\n  Bound result 0\n  Bound result 1621\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 361\n  Bound result 896\n  Bound result 0\n  Bound result 0\n  Bound result 1680\n  Bound result 0\n  Bound result 244\n  Bound result 3327641369\n  Bound result 6\n  Bound result 0\n  Bound result 40\n  Bound result 40\n  Bound result 3\n  Bound result 4578\n  Bound result 4252\n  Bound result 2478893114\n  Bound result 3535\n  Bound result 0\n  Bound result 5848\n  Bound result 902059648\n  Bound result 1926545012\n  Bound result 127\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.18s (1.18s CPU time)\n\nRan 2 test suites in 1.18s (1.20s CPU time): 30 tests passed, 0 failed, 0 skipped (30 total tests)\n","passed":true},{"durationMs":34,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BICToken.approve(address,uint256)\",\"BICToken.transfer(address,uint256)\",\"BICToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":55,\"foundry.toml\":18,\"launch.json\":20,\"remappings.txt\":2,\"src/BICToken.sol\":16,\"test/BICToken.invariant.t.sol\":74,\"test/BICToken.t.sol\":317},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"29d7e21cf55be7dd5779120ab21f3d336e7d7e26c7472e970688381b486e65e3","verifiedTreeHash":"f3ab50ab34b36fdfca18eebe228606066c847738","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1379,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.22s\nCompiler run successful!\n","passed":true},{"durationMs":1611,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 29 tests for test/BICToken.t.sol:BICTokenTest\n[PASS] testFuzz_ApprovedTransferConservesSupply(uint256,uint256) (runs: 1000, μ: 172377, ~: 174539)\nLogs:\n  Bound result 867417571142424343530196952\n  Bound result 832832972372278883880343710\n\n[PASS] testFuzz_RevertTransferAboveSupply(uint256) (runs: 1000, μ: 58784, ~: 59136)\nLogs:\n  Bound result 4819539856308404098651904965376107796897323987030\n\n[PASS] testFuzz_RevertUnapprovedSpending(uint256) (runs: 1000, μ: 61410, ~: 61132)\nLogs:\n  Bound result 8132\n\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 1000, μ: 101735, ~: 101943)\nLogs:\n  Bound result 999907768563606813399730\n\n[PASS] test_ApproveEmitsEventAndReplacesAllowance() (gas: 157865)\n[PASS] test_ConstructorEmitsSingleMint() (gas: 9713)\n[PASS] test_FactoryReceivesSupplyInsteadOfTransactionOrigin() (gas: 214344)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 128887)\n[PASS] test_LaunchDistributionAndClaimDeliverExactAmounts() (gas: 278581)\n[PASS] test_MetadataAndInitialSupply() (gas: 97134)\n[PASS] test_NoMintOrPrivilegedBalanceControlsForDeployerOrStranger() (gas: 612120)\n[PASS] test_RevertApproveZeroSpender() (gas: 30387)\n[PASS] test_RevertRevokedAllowanceCannotBeSpent() (gas: 110492)\n[PASS] test_RevertTransferAboveBalance() (gas: 54927)\n[PASS] test_RevertTransferFromAboveAllowance() (gas: 115730)\n[PASS] test_RevertTransferFromAboveBalanceRollsBackAllowance() (gas: 113525)\n[PASS] test_RevertTransferFromToZeroRollsBackAllowance() (gas: 103758)\n[PASS] test_RevertTransferFromWithoutApproval() (gas: 57757)\n[PASS] test_RevertTransferFromZeroSenderEvenForZeroAmount() (gas: 35362)\n[PASS] test_RevertTransferToZeroAddress() (gas: 37253)\n[PASS] test_RevertZeroTransferToZeroAddress() (gas: 30436)\n[PASS] test_RuntimeHasNoForbiddenOpcodes() (gas: 786589)\n[PASS] test_SelfTransferFromConsumesAllowanceWithoutChangingBalance() (gas: 107588)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51463)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91461)\n[PASS] test_TransferFromSpendsFiniteAllowance() (gas: 204137)\n[PASS] test_TransferFullBalance() (gas: 75787)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 53572)\n[PASS] test_ZeroTransferFromUnfundedAccountEmitsEvent() (gas: 50476)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 32.96ms (127.00ms CPU time)\n\nRan 1 test for test/BICToken.invariant.t.sol:BICTokenInvariantTest\n[PASS] invariant_SupplyIsFixedAndBalancesConserved() (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------+--------------+-------+---------+----------╮\n| Contract     | Selector     | Calls | Reverts | Discards |\n+==========================================================+\n| TokenHandler | approve      | 5459  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transfer     | 5409  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transferFrom | 5516  | 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 242\n  Bound result 0\n  Bound result 127\n  Bound result 6\n  Bound result 140\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 81008940\n  Bound result 170\n  Bound result 0\n  Bound result 0\n  Bound result 3040\n  Bound result 249075032485806289216033717\n  Bound result 281\n  Bound result 791\n  Bound result 374523176524873163687755\n  Bound result 2430412328\n  Bound result 3010\n  Bound result 0\n  Bound result 2\n  Bound result 1570\n  Bound result 843\n  Bound result 120290630033512688480397287\n  Bound result 5224\n  Bound result 0\n  Bound result 5\n  Bound result 18\n  Bound result 255\n  Bound result 156\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.50s (1.50s CPU time)\n\nRan 2 test suites in 1.50s (1.53s CPU time): 30 tests passed, 0 failed, 0 skipped (30 total tests)\n","passed":true},{"durationMs":43,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BICToken.approve(address,uint256)\",\"BICToken.transfer(address,uint256)\",\"BICToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":55,\"foundry.toml\":18,\"remappings.txt\":2,\"src/BICToken.sol\":16,\"test/BICToken.invariant.t.sol\":74,\"test/BICToken.t.sol\":317},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":518,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":270,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/BICToken.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"d58339b6ea52fb883e52bd8447c0b693362761b9ce820afb1a9baa9e621b3973","verifiedTreeHash":"615268723ffb6ff0728423fb4ce70c5ed106f2b8","verifierVersion":"0.1.0+327e1e9f"}]}