{"rewardSnapshot":null,"merkleRoot":null,"claims":null,"id":"7833501f-1f99-4659-832a-290999ffc03f","launchNumber":2305,"kind":"evm_contracts","status":"live","chainId":1,"sourceRepoUrl":"https://github.com/identity-md-launches/launch-2305-deploy-nft-vault-liquidity","sourceCommit":"579702304e4d69d564c94203113a782307375729","parkedReason":null,"artifactCount":4,"manifestHash":"359a118d60ce8862a62400b84925acc6e660d42092b576333ff075bb5577ee58","attestationHash":"86ba6e13f4f75dd42da3745a1f46a25a765b8458fe4acf3524d0f8ab92e46fdc","attestation":{"treeHash":"a2cd69b52fece835df5e8e49594ef510e972e441","verifierVersion":"0.1.0+475a429a","verifierKey":"68249df1f422fa72f61ca7f0ddaf9b62043959c5c134498441d5e552a9921782","toolchain":{"solc":"0.8.26","forge":"forge Version: 1.8.3","viaIR":false,"optimizer":true,"evmVersion":"cancun","bytecodeHash":"none","optimizerRuns":200},"contracts":[{"name":"InkFeeRouter","path":"src/InkFeeRouter.sol","abiHash":"bceda2f073d99dcc69aceee1e8f258ce4981d073abaa24a7bce41b1252faee87","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"ea5b41978db6af2173f68b0edf13d2f5ed4ade08ea7ad5a707fa6693b8ef9b6d","creationCodeHash":"9b4edbf4dbeeef426b314afe256f27c735c3a91fdb6189f8762372d5e978719a","deployedCodeHash":"a46fb23ce88147646d93dd09d8c7cc0ad091d7ba9fb5b9a59485255bb5d30f11","creationCodeBytes":2426,"deployedCodeBytes":2075},{"name":"InkHook","path":"src/InkHook.sol","abiHash":"360b3647cbf6bc72b3edc91561e70eb50b2ba3b68358df1e15fca7c88237a3a8","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"2244694800a827b1cc770ee28b4d06b60e7798cec7a01caf9006b2ce2f7a2bf5","creationCodeHash":"9c6869713fd73f9ce494793bb1607620ddd6bd4ceb02f669e8c4add705f8da3d","deployedCodeHash":"90e6834c9ddf923fa5a682edb2778228d0010c01c203ac7a8f5d1e042268fe13","creationCodeBytes":7273,"deployedCodeBytes":6099},{"name":"InkLiquidity","path":"src/InkLiquidity.sol","abiHash":"b5b7a2144866960df55bfe6fb068e2f20a675f9568f75e92331a4be92eaf527f","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"46c489e9a2865ee026df2dfdbedef2ebe757308c51696fd7db356f8160ba8e91","creationCodeHash":"9bc1c3fb9bfca0a8e918b70a2618bcbd8ef5ee5e9911402822fffa97de1fed48","deployedCodeHash":"39b8e88ac7324e36f9c586f3841b73d741903ed1bea45a3254b63fa6dce8f1c8","creationCodeBytes":12968,"deployedCodeBytes":12437},{"name":"InkPortraits","path":"src/InkPortraits.sol","abiHash":"2d72c247bdb976b2a6105d05688fb5db8dbbcb4cc537db7dbaf3e286228e43e0","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"800394bdd4a1cf77e36127051f18f3efadab7964071d7ff8f6f483fee2f5c411","creationCodeHash":"19b9d7f776a5b08fb6c156a98667b8669efade0a1c3161aa596734e2104388ee","deployedCodeHash":"fc3cd811fed6402c8f8dcfaa4d538842dc0f5aa2dd6e7ebdcb7efbaf27e71ac1","creationCodeBytes":10194,"deployedCodeBytes":9307},{"name":"InkRenderer","path":"src/InkRenderer.sol","abiHash":"67d9a5f48e3840e7df98bb6d2c32b95834545942f47eb5dfad40a74f183b4d37","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"d94e341e5aeabd52672b70f016bbe2e4f55747ac679eb83a0c8277b5f9e76bfa","creationCodeHash":"ee933acaa06605e32c800c008561de2e202fb43e789940cc5e3bab1c59f95820","deployedCodeHash":"04b269a07716c6f0f7147a4fec657ff47388704b30aefc099c95dc63532113a1","creationCodeBytes":14046,"deployedCodeBytes":12991},{"name":"InkVault","path":"src/InkVault.sol","abiHash":"fe8a33c93bea4343a34d63c906e10d79eca25b4112d1d2620f0acfb5664395ea","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"807f536ba3c3d77e59c9debe8ce48a3979bf5a290a0eb7c9872477d7af816612","creationCodeHash":"346ae0b806bd15f79f16f48cf48a06fd15985bca20c4812df7cd3cd068cd5992","deployedCodeHash":"0c20623b22c2930d4a1e56538b0d526cc4b36b769fe92a34b1d1fc0dc64074e9","creationCodeBytes":12914,"deployedCodeBytes":12400},{"name":"TestSeats","path":"src/testnet/TestSeats.sol","abiHash":"e43b723ee8d27996c84ac66c5081b8dab51ccce60c018ab5ded1f9bae128d090","opcodes":{"callcode":false,"delegatecall":false,"selfdestruct":false},"metadataHash":"8dc8d09e5f2500cc0e1ec4c0549ef4bcd51c7718ddfe115a88e836c0ec7244e9","creationCodeHash":"1a8057138c2d8fc28b5dd471d24f19d2e195e6959b458397524fcc41a323a53e","deployedCodeHash":"869a37d7079d7ced160ddca61849b42bd7e9a57488d48d03d7b13eacddd4fabe","creationCodeBytes":4295,"deployedCodeBytes":3814}],"manifest":{"kind":"evm_contracts","notes":"Ethereum mainnet deployment of InkPortraits, InkVault, InkLiquidity and InkRenderer in the listed order. Every owner argument and the NFT royalty recipient resolve to $owner. InkVault uses the specified seats NFT. InkLiquidity uses the official Uniswap v4 Ethereum PoolManager and PositionManager listed at https://developers.uniswap.org/docs/protocols/v4/deployments; its treasury receives IMD fees only and has no owner role. InkFeeRouter is deployed separately by the owner. InkHook and src/testnet contracts are excluded. This manifest includes no token or pool deployment, ETH funding or initialization calls.","contracts":[{"contract":"InkPortraits","constructorArgs":["$owner"]},{"contract":"InkVault","constructorArgs":["$contract:InkPortraits","0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","$owner"]},{"contract":"InkLiquidity","constructorArgs":["0x000000000004444c5dc75cb358380d2e3de08a90","0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e","$owner","0xbc10b3662231c830d2ee10bc6359db17bea4b3d4"]},{"contract":"InkRenderer","constructorArgs":["$contract:InkPortraits","$owner"]}]},"manifestError":null},"attestationFailure":null,"deployFailure":null,"policyVersion":27,"economics":null,"poolFee":null,"requester":"0x824e12b38cff2d3e7ad9607a0212f7f9eb6a06e3","admissionChecks":[{"name":"provenance","detail":"9 node(s) accepted at 57970230","status":"passed"},{"name":"findings","detail":"9 accepted submission(s), no unresolved blocking findings","status":"passed"},{"name":"independent_review","detail":"1 independent review(s)","status":"passed"},{"name":"bytecode","detail":"7 contract(s) clean and reproducible","status":"passed"},{"name":"manifest","detail":"4 application contracts; no protocol token or pool","status":"passed"},{"name":"protected_invariants","detail":"invariants-9c691c05ee3c: Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.49ms (1.30ms CPU time)","status":"passed"},{"name":"economics","detail":"policy explicitly selects no on-chain contributor rewards","status":"passed"}],"assurances":[],"logo":null,"seeded":null,"createdAt":"2026-10-20T16:21:36.436Z","updatedAt":"2026-10-20T16:22:25.619Z","jobs":[{"id":"373c761a-a182-4421-aa61-7162d3108159","objective":"Deploy the NFT, vault, liquidity contract and renderer from this repository on Ethereum mainnet, in this order, with no changes to their logic: (1) InkPortraits with constructor ($owner); (2) InkVault with constructor ($contract:InkPortraits, 0x0000ec93127baa929e58e97dd0095a2bfb38ec1d, $owner); (3) InkLiquidity with constructor (the official Uniswap v4 PoolManager on this chain, the official Uniswap v4 PositionManager on this chain, $owner, 0xbc10b3662231c830d2ee10bc6359db17bea4b3d4); (4) InkRenderer with constructor ($contract:InkPortraits, $owner). Do not deploy src/InkFeeRouter.sol: the owner deploys it separately. Run the existing Foundry tests before deploying. The treasury argument (0xbc10b3662231c830d2ee10bc6359db17bea4b3d4) only receives IMD fees and is not an owner. Owner roles and royalties must go to $owner, the address in the owner field, never to the deploying wallet or any swarm address. Do not add any other owner, admin or upgrade role. Do not deploy src/testnet either.","state":"completed","attachedAt":"2026-10-20T16:21:36.436Z"}],"artifacts":[{"role":"other","name":"InkLiquidity","address":"0xa53a3b0521e471f69c0351d9e6620848e749f37d","creationCodeHash":"9bc1c3fb9bfca0a8e918b70a2618bcbd8ef5ee5e9911402822fffa97de1fed48","txHash":"0x0d735a1cfa76baace8548e7b3310c527717fd29a819febd0370f756049a171c1","blockNumber":26234962,"verifiedAt":"2026-10-20T16:25:11.548Z","verifyFailure":null},{"role":"other","name":"InkPortraits","address":"0x54fa3515848440ddde2aefe45a382bd868cacd15","creationCodeHash":"19b9d7f776a5b08fb6c156a98667b8669efade0a1c3161aa596734e2104388ee","txHash":"0x0d735a1cfa76baace8548e7b3310c527717fd29a819febd0370f756049a171c1","blockNumber":26234962,"verifiedAt":"2026-10-20T16:25:17.088Z","verifyFailure":null},{"role":"other","name":"InkRenderer","address":"0x9853b489003add907ff0849d899f5cb44e8c17d2","creationCodeHash":"ee933acaa06605e32c800c008561de2e202fb43e789940cc5e3bab1c59f95820","txHash":"0x0d735a1cfa76baace8548e7b3310c527717fd29a819febd0370f756049a171c1","blockNumber":26234962,"verifiedAt":"2026-10-20T16:22:59.191Z","verifyFailure":null},{"role":"other","name":"InkVault","address":"0x33c85714c7d78fdb253fe1cf761d2d5c3c12d747","creationCodeHash":"346ae0b806bd15f79f16f48cf48a06fd15985bca20c4812df7cd3cd068cd5992","txHash":"0x0d735a1cfa76baace8548e7b3310c527717fd29a819febd0370f756049a171c1","blockNumber":26234962,"verifiedAt":"2026-10-20T16:25:05.934Z","verifyFailure":null}],"allocations":[]}