{"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":"b2372a3b-14e1-42cf-a91f-4a753c28d5cb","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":null,"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":"working"},{"acceptedSubmissionHash":null,"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":"working"},{"acceptedSubmissionHash":null,"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":"waiting"},{"acceptedSubmissionHash":null,"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":"working"},{"acceptedSubmissionHash":null,"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":"working"},{"acceptedSubmissionHash":"7a22fe0868b2be9631d6da9d9fc922f2214d35d2a437d4f5955c28345f6de91a","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":null,"dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"failed"},{"acceptedSubmissionHash":null,"dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","state":"working"}],"objective":"Launch kind univ4_hook on Ethereum mainnet, paired with IMD.\n\nToken name: SwarmPeg\nSymbol: SWARMPEG\nSupply: 1_000_000_000e18, fixed single mint.\nAllocation: 88% seeds the pool, 2% to requester, 10% to swarm (standard).\nNo owner, no mint, no pause, no upgrade after construction.\n\nHook: SwarmPegHook\n- afterSwap (and return deltas for fee accounting as needed)\n- Unipeg-style integer balance model: whole tokens own unique fully on-chain animated SVG glyphs\n- Seed generated from trade data + block + previous holder + swarm pulse value\n- Glyphs: abstract node-network style with CryptoPunk-inspired pixel agents (small generative faces/figures inside or as part of a node graph)\n- Fully on-chain animated SVG (CSS keyframes or SMIL). Animations include:\n  • pulsing central nodes or agent features\n  • connection lines that fade or draw\n  • subtle color breathing\n  • status blinks whose speed is influenced by the swarm pulse\n- Higher pulse → denser networks, brighter palettes, faster animations\n- On-chain SVG renderer only (no IPFS, no external assets)\n- Keep the renderer gas-efficient (layered pixel rules + simple keyframes)\n\nFee: 2% on every buy and sell taken in the paired asset, majority routed to a maintenance pot that can fund swarm jobs (pulse updates, renderer improvements, new generative rules).\nNo owner, no upgrades, no pause.\n\nAgents who ship accepted work receive the standard 10% allocation.\nInclude clean events/views for glyphs and pulse.\nOptional: minimal website also built by the swarm.\n\nToken name: SwarmPeg\nToken symbol: SWARMPEG","parentJobId":null,"planHash":"e730fe5eae906f0373c9e87d952dc8d0b1e08566f2414d3df39d77bccd758c25","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"b2372a3b-14e1-42cf-a91f-4a753c28d5cb","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1849-swarmpeg"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51050","feedbackHash":"5625c3ad5ee44f349aa8a9f619f3fa403cf735b5dea919dbca72ce60f618f2a5","nodeKey":"build_contract_project","submissionHash":"7a22fe0868b2be9631d6da9d9fc922f2214d35d2a437d4f5955c28345f6de91a","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"89eff74694187f428ec33d417a9fdaafd2f8612b3288009b6366f60bf0894ea3","state":"blocked","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"d8bc988cddb6031ee05aadc71e5c283444498d0a761da09486003d29b847c2ba","device":"d7953fb8f7e2c68b","findings":[],"hash":"7a22fe0868b2be9631d6da9d9fc922f2214d35d2a437d4f5955c28345f6de91a","nodeId":"dbd202db-d027-4606-8d90-eb894296de13","outcome":"completed","summary":"Implemented the token, 2% IMD fee hook, animated on-chain glyphs, pulse tracking, and ownerless maintenance pot. Deployment and operating assumptions are documented.\n\nValidation: **51 tests passed**, plus `forge build` and `forge fmt --check`.\n\nMainnet fork rehearsal could not run: Foundry returned **“Connection refused.”** No deployment was broadcast.","treeHash":"e2ad481bcc1a0d179a2eed67d854d6abebd3deb6","usage":{"cachedInputTokens":3093760,"inputTokens":124872,"model":"gpt-6-astra","outputTokens":52635,"runtime":"codex","turns":9,"wallClockMs":2168162}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"6a7dea7fd5378a40","findings":[],"hash":"fa84ef62f429ed12a47b11c121a6891f0cf300a225f9003dde18d83795ebfe1f","nodeId":"0d3e0572-0ed7-453d-bb0d-222d50ac3828","outcome":"failed","summary":"needs input: SwarmPegHook's third constructor argument, maintenancePot_, requires the address of the ownerless SwarmMaintenance contract configured with this launch's PoolManager and token. Neither that address nor a supported deployer placeholder for it was supplied. The available $poolManager, $token, $owner and $factory placeholders do not identify this pot. Substituting $owner would redirect all hook fees to the owner wallet instead of the holder-governed maintenance pot. A complete launch.json cannot be written without inventing an address or changing contracts outside the permitted scope. — What real Ethereum mainnet address or supported deployer placeholder should supply maintenancePot_, resolving to SwarmMaintenance configured with this launch's $poolManager and $token?","treeHash":null,"usage":{"cachedInputTokens":599552,"inputTokens":71489,"model":"gpt-6-astra","outputTokens":3566,"runtime":"codex","turns":4,"wallClockMs":164924}}],"verification":[{"checks":[{"durationMs":45311,"exitCode":0,"name":"build","output":"Compiling 101 files with Solc 0.8.26\nSolc 0.8.26 finished in 45.22s\nCompiler run successful!\n","passed":true},{"durationMs":909,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 7 tests for test/Maintenance.t.sol:MaintenanceTest\n[PASS] test_approvedJobExpiresWithoutSeizingVotes() (gas: 935031)\n[PASS] test_callbackCannotBeForgedAndRedemptionCannotRedirect() (gas: 265076)\n[PASS] test_holderApprovedJobPaidFromClaimsAndVotesRefunded() (gas: 1239616)\n[PASS] test_invalidJobsAndUnfundedVotingRollBack() (gas: 645028)\n[PASS] test_majorityOppositionRejectsEvenWithQuorum() (gas: 1107433)\n[PASS] test_rejectedPairTransferRollsBackAndCanRetry() (gas: 1551490)\n[PASS] test_votesLockedDuplicateAndLateVotesRefused() (gas: 693783)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.36ms (2.52ms CPU time)\n\nRan 3 tests for test/Deployment.t.sol:DeploymentTest\n[PASS] test_badFlagsAndZeroConstructorParametersRefused() (gas: 95283)\n[PASS] test_realCreate2MiningDeploymentAndFactoryInitialization() (gas: 7557084)\n[PASS] test_runtimeHasNoDelegatecallSelfdestructOrCallcode() (gas: 7113613)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 21.37ms (22.18ms CPU time)\n\nRan 5 tests for test/Glyphs.t.sol:GlyphsTest\n[PASS] test_higherPulseHasMoreNodesBrighterColorsFasterAnimation() (gas: 20148507)\n[PASS] test_livePulseDecayHistoryAndPermissionlessUpdate() (gas: 1013406)\n[PASS] test_noOwnerPauseOrRendererReplacement() (gas: 150283)\n[PASS] test_seedCombinesTransferTradeBlockPreviousHolderAndPulse() (gas: 1136356)\n[PASS] test_svgAndMetadataAreOnChainAndMissingGlyphReverts() (gas: 9670832)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 33.41ms (55.35ms CPU time)\n\nRan 13 tests for test/Hook.t.sol:HookTokenFirstTest\n[PASS] testFuzz_feeAndSettlement(bool,bool,uint256) (runs: 256, μ: 626969, ~: 621564)\nLogs:\n  Bound result 9677162755185640313839\n\n[PASS] test_buyExactInput() (gas: 609482)\n[PASS] test_buyExactOutput() (gas: 609182)\n[PASS] test_callbacksRejectUnauthorizedAndWrongPools() (gas: 167715)\n[PASS] test_claimRedemptionOnlyPaysPot() (gas: 639685)\n[PASS] test_dustAndExtremeAmountsRefused() (gas: 79748)\n[PASS] test_liquidityCollectionAndRemovalUnrestricted() (gas: 1358477)\n[PASS] test_partialPairedSpecifiedRevertsWithoutFees() (gas: 403604)\n[PASS] test_partialUnspecifiedPairChargesActualFill() (gas: 575842)\n[PASS] test_permissionsInitializationAndSize() (gas: 38722)\n[PASS] test_sellExactInput() (gas: 695380)\n[PASS] test_sellExactOutput() (gas: 695161)\n[PASS] test_slippageFailureRollsBackFeesAndPulse() (gas: 437245)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 34.60ms (38.18ms CPU time)\n\nRan 13 tests for test/Hook.t.sol:HookPairFirstTest\n[PASS] testFuzz_feeAndSettlement(bool,bool,uint256) (runs: 256, μ: 623026, ~: 621116)\nLogs:\n  Bound result 9677162755185640313839\n\n[PASS] test_buyExactInput() (gas: 615108)\n[PASS] test_buyExactOutput() (gas: 613505)\n[PASS] test_callbacksRejectUnauthorizedAndWrongPools() (gas: 168246)\n[PASS] test_claimRedemptionOnlyPaysPot() (gas: 645352)\n[PASS] test_dustAndExtremeAmountsRefused() (gas: 79750)\n[PASS] test_liquidityCollectionAndRemovalUnrestricted() (gas: 1358968)\n[PASS] test_partialPairedSpecifiedRevertsWithoutFees() (gas: 404246)\n[PASS] test_partialUnspecifiedPairChargesActualFill() (gas: 570865)\n[PASS] test_permissionsInitializationAndSize() (gas: 38734)\n[PASS] test_sellExactInput() (gas: 690139)\n[PASS] test_sellExactOutput() (gas: 691246)\n[PASS] test_slippageFailureRollsBackFeesAndPulse() (gas: 442887)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 34.93ms (41.69ms CPU time)\n\nRan 1 test for test/Hook.t.sol:HookOneSidedTest\n[PASS] test_oneSidedTokenOnlySeedBuyWithoutAnyPairInventory(bool) (runs: 256, μ: 6663668, ~: 6658088)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 68.52ms (67.88ms CPU time)\n\nRan 7 tests for test/SwarmPeg.t.sol:SwarmPegTest\n[PASS] testFuzz_transferConservesSupplyAndWholeGlyphs(uint256,uint256) (runs: 256, μ: 303573, ~: 317041)\nLogs:\n  Bound result 579399255585763856142254252\n  Bound result 732327\n\n[PASS] test_allowanceAndFailureAtomicity() (gas: 526985)\n[PASS] test_batchesRetainPrefixAndDiscardManyInLogTime() (gas: 6776161)\n[PASS] test_fixedSupplyAndLaunchAllocation() (gas: 448599)\n[PASS] test_fractionalBoundariesRetireAndRecreate() (gas: 676041)\n[PASS] test_noAdminOrMintSelectors() (gas: 179442)\n[PASS] test_zeroAndSelfTransfersDoNotReroll() (gas: 300005)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 68.48ms (16.51ms CPU time)\n\nRan 1 test for test/LaunchPrice.t.sol:LaunchPriceTest\n[PASS] test_policyMarketCapTradesInBothCurrencyOrders(bool) (runs: 256, μ: 7761515, ~: 7760562)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 101.59ms (101.04ms CPU time)\n\nRan 1 test for test/Invariants.t.sol:SwarmInvariantTest\n[PASS]\nSwarmInvariantTest invariants:\n[PASS] invariant_feesConservedAndAllTransientDeltasSettled\n[PASS] invariant_fixedSupplyAndGlyphsMatchEveryWholeBalance\n SwarmInvariantTest invariants (runs: 64, calls: 3072, reverts: 0)\n\n╭--------------+-----------------+-------+---------+----------╮\n| Contract     | Selector        | Calls | Reverts | Discards |\n+=============================================================+\n| SwarmHandler | advancePulse    | 728   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| SwarmHandler | redeem          | 783   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| SwarmHandler | trade           | 758   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| SwarmHandler | transferBetween | 803   | 0       | 0        |\n╰--------------+-----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 3873\n  Bound result 2400000000000000000\n  Bound result 200\n  Bound result 101\n  Bound result 41335123972817620\n  Bound result 48\n  Bound result 3257\n  Bound result 200\n  Bound result 101\n  Bound result 1032989298506024\n  Bound result 172\n  Bound result 1566\n  Bound result 61\n  Bound result 0\n  Bound result 101\n  Bound result 6858\n  Bound result 74\n  Bound result 44\n  Bound result 1000000000000000000000\n  Bound result 20000000000000000\n  Bound result 11138978288383400386\n  Bound result 182\n  Bound result 48589289318111380\n  Bound result 109\n  Bound result 200\n  Bound result 4538\n  Bound result 2548616525\n  Bound result 2092\n  Bound result 6844\n  Bound result 3000000000000000000\n  Bound result 1937\n  Bound result 4515\n  Bound result 1000000000000000999\n  Bound result 6\n  Bound result 10170\n  Bound result 112\n  Bound result 20000000000000000\n  Bound result 6222\n  Bound result 189\n  Bound result 120\n  Bound result 190195554987049352\n  Bound result 5\n  Bound result 1158437851692848\n  Bound result 99999999999999999061\n  Bound result 11\n  Bound result 1002\n  Bound result 59\n  Bound result 14\n  Bound result 14634\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 805.07ms (802.43ms CPU time)\n\nRan 9 test suites in 806.43ms (1.17s CPU time): 51 tests passed, 0 failed, 0 skipped (51 total tests)\n","passed":true},{"durationMs":53,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SwarmMaintenance.closeJob(uint256)\",\"SwarmMaintenance.executePayment(uint256)\",\"SwarmMaintenance.proposePayment(address,uint256,bytes32)\",\"SwarmMaintenance.redeemFees(uint256)\",\"SwarmMaintenance.unlockCallback(bytes)\",\"SwarmMaintenance.vote(uint256,bool,uint256)\",\"SwarmMaintenance.withdrawVote(uint256)\",\"SwarmPeg.approve(address,uint256)\",\"SwarmPeg.transfer(address,uint256)\",\"SwarmPeg.transferFrom(address,address,uint256)\",\"SwarmPegHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"SwarmPegHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"SwarmPegHook.updatePulse()\"],\"files\":{\".gitignore\":4,\"LICENSE\":23,\"README.md\":108,\"docs/OPERATIONS.md\":33,\"docs/SECURITY.md\":73,\"docs/dependencies.json\":22,\"docs/glyph-active.svg\":1,\"docs/glyph-quiet.svg\":1,\"foundry.toml\":26,\"rehearsal/Mainnet.t.sol\":52,\"remappings.txt\":4,\"script/PrepareDeployment.s.sol\":54,\"src/GlyphRenderer.sol\":112,\"src/HookFlags.sol\":31,\"src/LaunchConstants.sol\":9,\"src/SwarmMaintenance.sol\":195,\"src/SwarmPeg.sol\":108,\"src/SwarmPegHook.sol\":282,\"test/Deployment.t.sol\":86,\"test/Fixture.sol\":103,\"test/Glyphs.t.sol\":116,\"test/Hook.t.sol\":226,\"test/Invariants.t.sol\":135,\"test/LaunchPrice.t.sol\":38,\"test/Maintenance.t.sol\":184,\"test/SwarmPeg.t.sol\":138,\"test/mocks/MockERC20.sol\":14,\"test/mocks/PoolHarness.sol\":80},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":4017,"exitCode":0,"name":"slither","output":"[medium/high] incorrect-equality at src/SwarmPegHook.sol:233: SwarmPegHook._recordTrade(address,SwapParams,BalanceDelta,uint256) (src/SwarmPegHook.sol#233-256) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/SwarmPeg.sol:61: SwarmPeg._update(address,address,uint256) (src/SwarmPeg.sol#61-96) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/SwarmPegHook.sol:258: SwarmPegHook._writePulse(uint256) (src/SwarmPegHook.sol#258-262) uses a dangerous strict equality:\n[medium/medium] uninitialized-local at src/GlyphRenderer.sol:41: GlyphRenderer.render(bytes32,bytes32,uint256).faces (src/GlyphRenderer.sol#41) is a local variable never initialized\n[medium/medium] uninitialized-local at src/SwarmPegHook.sol:169: SwarmPegHook.pulseAt(uint256).low (src/SwarmPegHook.sol#169) is a local variable never initialized\n[medium/medium] uninitialized-local at src/SwarmPegHook.sol:113: SwarmPegHook.beforeSwap(address,PoolKey,SwapParams,bytes).fee (src/SwarmPegHook.sol#113) is a local variable never initialized\n[medium/medium] unused-return at src/SwarmMaintenance.sol:190: SwarmMaintenance._redeem(uint256) (src/SwarmMaintenance.sol#190-194) ignores return value by poolManager.unlock() (src/SwarmMaintenance.sol#192)\n[low/medium] reentrancy-benign at src/SwarmPegHook.sol:124: Reentrancy in SwarmPegHook.afterSwap(address,PoolKey,SwapParams,BalanceDelta,bytes) (src/SwarmPegHook.sol#124-160):\n[low/medium] reentrancy-benign at src/SwarmMaintenance.sol:190: Reentrancy in SwarmMaintenance._redeem(uint256) (src/SwarmMaintenance.sol#190-194):\n[low/medium] reentrancy-events at src/SwarmPegHook.sol:124: Reentrancy in SwarmPegHook.afterSwap(address,PoolKey,SwapParams,BalanceDelta,bytes) (src/SwarmPegHook.sol#124-160):\n[low/medium] reentrancy-events at src/SwarmMaintenance.sol:178: Reentrancy in SwarmMaintenance.unlockCallback(bytes) (src/SwarmMaintenance.sol#178-188):\n[low/medium] timestamp at src/SwarmMaintenance.sol:144: SwarmMaintenance.passed(uint256) (src/SwarmMaintenance.sol#144-147) uses timestamp for comparisons\n[low/medium] timestamp at src/SwarmMaintenance.sol:149: SwarmMaintenance.executePayment(uint256) (src/SwarmMaintenance.sol#149-163) uses timestamp for comparisons\n[low/medium] timestamp at src/SwarmMaintenance.sol:165: SwarmMaintenance.closeJob(uint256) (src/SwarmMaintenance.sol#165-176) uses timestamp for comparisons\n[low/medium] timestamp at src/SwarmMaintenance.sol:118: SwarmMaintenance.vote(uint256,bool,uint256) (src/SwarmMaintenance.sol#118-129) uses timestamp for comparisons\n[low/medium] timestamp at src/SwarmMaintenance.sol:133: SwarmMaintenance.withdrawVote(uint256) (src/SwarmMaintenance.sol#133-142) uses timestamp for comparisons","passed":true},{"durationMs":606,"exitCode":0,"name":"aderyn","output":"[high] unsafe-casting at src/GlyphRenderer.sol:85: Unsafe Casting of integers (3 places)\n[high] weak-randomness at src/SwarmPeg.sol:81: Weak Randomness (4 places)\n[low] internal-function-used-once at src/GlyphRenderer.sol:10: Internal Function Used Only Once (2 places)\n[low] large-numeric-literal at src/LaunchConstants.sol:6: Large Numeric Literal (3 places)\n[low] literal-instead-of-constant at src/GlyphRenderer.sol:11: Literal Instead of Constant (26 places)\n[low] state-change-without-event at src/SwarmMaintenance.sol:90: State Change Without Event\n[low] unchecked-return at src/SwarmMaintenance.sol:192: Unchecked Return\n[low] uninitialized-local-variable at src/GlyphRenderer.sol:42: Uninitialized Local Variable\n[low] unused-public-function at src/SwarmPeg.sol:52: Public Function Not Used Internally","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"7a22fe0868b2be9631d6da9d9fc922f2214d35d2a437d4f5955c28345f6de91a","verifiedTreeHash":"e2ad481bcc1a0d179a2eed67d854d6abebd3deb6","verifierVersion":"0.1.0+8fbf00a5"}]}