{
  "generatedAt": "2026-02-20T19:27:08.064Z",
  "runDir": "C:\\Users\\Josh\\hypersdk\\examples\\veilvm\\evidence-bundles\\flywheel-audit\\flywheel-20260220-142708",
  "execute": true,
  "failOnAnyGap": false,
  "overallPass": true,
  "chain": {
    "name": "VEIL-EVM",
    "chainId": 22207,
    "rpcUrl": "http://127.0.0.1:9650/ext/bc/2L5JWLhXnDm8dPyBFMjBuqsbPSytL4bfbGJJj37jk5ri1KdXhd/rpc"
  },
  "signers": {
    "admin": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
    "expectedTempAdmin": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
    "keeperSigner": "0x698acAcB4446ACaE951b5b9872a8bDC0C3c64A55",
    "expectedOpsKeeper": "0x698acAcB4446ACaE951b5b9872a8bDC0C3c64A55",
    "allowAdminMismatch": false
  },
  "ownership": {
    "vaiOwner": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
    "treasuryOwner": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
    "keep3rOwner": "0x580358409B75e315919a9aBFEf9cB3b55F54503A"
  },
  "checks": [
    {
      "id": "C01_BYTECODE_PRESENT",
      "ok": true,
      "notes": "All expected contracts have bytecode."
    },
    {
      "id": "C02_PAIR_REGISTRY",
      "ok": true,
      "notes": "Factory pair=0x39b8Ee60Ac0c733884E08Bc5112f35726CCc95db, configured=0x39b8Ee60Ac0c733884E08Bc5112f35726CCc95db"
    },
    {
      "id": "C03_VAI_MINTER_LINK",
      "ok": true,
      "notes": "VAI.minter=0x93789412A4b682D397f9B485c324BbaAabf8EED6"
    },
    {
      "id": "C04_TREASURY_KEEP3R_LINK",
      "ok": true,
      "notes": "Treasury.keep3r=0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc"
    },
    {
      "id": "C05_KEEPER_ACTIVE",
      "ok": true,
      "notes": "isKeeper(0x698acAcB4446ACaE951b5b9872a8bDC0C3c64A55)=true"
    },
    {
      "id": "C06_POOL_RESERVES_NONZERO",
      "ok": true,
      "notes": "reserve0=2000000000000000000000, reserve1=2000000000000000000"
    },
    {
      "id": "C07_KEEP3R_JOB_GATING",
      "ok": true,
      "notes": "Non-job caller cannot execute worked()."
    },
    {
      "id": "C08_KEEP3R_INFRA_JOBS",
      "ok": true,
      "notes": "VeilTreasury:on, OrderIntentGateway:on, LiquidityIntentGateway:on"
    },
    {
      "id": "C09_KEEP3R_CREDITS_POSITIVE",
      "ok": true,
      "notes": "availableCreditsWei=1001800000000000000"
    },
    {
      "id": "C10_CHAIN_CONNECTION",
      "ok": true,
      "notes": "chainId=22207"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "severity": "critical",
      "message": "Full VAI/DAI suite is incomplete in active scope. Missing 9/10: Vat.sol, Jug.sol, Pot.sol, Spot.sol, Dog.sol, Vow.sol, DaiJoin.sol, GemJoin.sol, Clip.sol"
    },
    {
      "id": "F003",
      "severity": "medium",
      "message": "Treasury remains owned by temporary admin EOA; migrate to hardened control before launch."
    },
    {
      "id": "F004",
      "severity": "medium",
      "message": "Keep3r registry is owned by temporary admin EOA; migrate to hardened control before launch."
    }
  ],
  "transactions": [
    {
      "step": "wVEIL.deposit(0.01)",
      "hash": "0x515287a79b1cab631c251ce594559e9ba3e50e0f3027b60448cb1266dfb8e67d",
      "status": "SUCCESS",
      "blockNumber": "64",
      "gasUsed": "29667"
    },
    {
      "step": "wVEIL.approve(treasury,0.005)",
      "hash": "0x0ca81ee452e34402ed080ab25d1e100120f8f93a646c97dd553d978367bb5128",
      "status": "SUCCESS",
      "blockNumber": "65",
      "gasUsed": "46152"
    },
    {
      "step": "treasury.depositVeil(0.005)",
      "hash": "0xc7475d1b0d08e80d24e288ef6e12f9dc1250fedd861e8f94ab0537e0ed7126ea",
      "status": "SUCCESS",
      "blockNumber": "66",
      "gasUsed": "63036"
    },
    {
      "step": "treasury.fundKeep3r(0.002)",
      "hash": "0xd260f7a03e53d1be5d80c59d29d63bf6b05918f35cc3fe6d403e937338e6d034",
      "status": "SUCCESS",
      "blockNumber": "67",
      "gasUsed": "43029"
    },
    {
      "step": "treasury.mintVAI(admin,3)",
      "hash": "0x17f1c55a7ed4996f8ed5ea4496a6d5eb2880f6a637cc91d74a9a7eab674766d7",
      "status": "SUCCESS",
      "blockNumber": "68",
      "gasUsed": "42878"
    },
    {
      "step": "VAI.approve(router,1)",
      "hash": "0x5dc119828eeb142c583b20bc19d6ac43e03dc5be262b14edaa15fc8e5aaecaee",
      "status": "SUCCESS",
      "blockNumber": "69",
      "gasUsed": "45962"
    },
    {
      "step": "router.swapExactTokensForTokens(VAI->wVEIL)",
      "hash": "0x97b6b39e3b6bb35b88473661fd13e328dfc4a291c8187b3b409479450f4840fd",
      "status": "SUCCESS",
      "blockNumber": "70",
      "gasUsed": "91019"
    },
    {
      "step": "keep3r.setJob(admin,true)",
      "hash": "0x3d3c570799fa3b098efcd2e557187c78dd0135e2581e42cda0924ba68ce69c10",
      "status": "SUCCESS",
      "blockNumber": "71",
      "gasUsed": "47699"
    },
    {
      "step": "keep3r.worked(opsKeeper1,payout)",
      "hash": "0x8bb3f589ffb2a2bb822c3fe197c09bb8d3da65a6133a864d9aa44ee5d49064cc",
      "status": "SUCCESS",
      "blockNumber": "72",
      "gasUsed": "49328"
    },
    {
      "step": "keep3r.setJob(admin,false)",
      "hash": "0x94269f154cd3eab4d35fc407e7d5c24fbdffce1c5bd33ae4217f4a39f49d8552",
      "status": "SUCCESS",
      "blockNumber": "73",
      "gasUsed": "30587"
    }
  ],
  "codeChecks": [
    {
      "label": "VAI",
      "address": "0x05e0c44ce9944E16730e49e724e01c730c1FF2Eb",
      "ok": true,
      "byteLength": 2162
    },
    {
      "label": "VeilTreasury",
      "address": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
      "ok": true,
      "byteLength": 2142
    },
    {
      "label": "VeilKeep3r",
      "address": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc",
      "ok": true,
      "byteLength": 2975
    },
    {
      "label": "VeilUniV2Factory",
      "address": "0x66e87CE66d53b3cfbfe413808A193cC8db733a81",
      "ok": true,
      "byteLength": 6144
    },
    {
      "label": "VeilUniV2Router",
      "address": "0xe0Ea56f556aE20d022fD05501d21D85768D69cf1",
      "ok": true,
      "byteLength": 4623
    },
    {
      "label": "VeilUniV2Pair(wVEIL/VAI)",
      "address": "0x39b8Ee60Ac0c733884E08Bc5112f35726CCc95db",
      "ok": true,
      "byteLength": 4947
    },
    {
      "label": "OrderIntentGateway",
      "address": "0x97FdEdF2B576174FD849Aac503f0a1B76B1eB615",
      "ok": true,
      "byteLength": 2776
    },
    {
      "label": "LiquidityIntentGateway",
      "address": "0xe467018Bec90c873b5cfF58647868AA1813850A6",
      "ok": true,
      "byteLength": 6401
    }
  ],
  "jobs": {
    "before": {
      "VeilTreasury": true,
      "OrderIntentGateway": true,
      "LiquidityIntentGateway": true
    },
    "after": {
      "VeilTreasury": true,
      "OrderIntentGateway": true,
      "LiquidityIntentGateway": true
    },
    "targetAddresses": {
      "VeilTreasury": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
      "OrderIntentGateway": "0x97FdEdF2B576174FD849Aac503f0a1B76B1eB615",
      "LiquidityIntentGateway": "0xe467018Bec90c873b5cfF58647868AA1813850A6"
    }
  },
  "daiSuiteCoverage": {
    "expected": 10,
    "present": 1,
    "missing": 9,
    "rows": [
      {
        "contract": "VeilVAI.sol",
        "component": "Stable Token",
        "notes": "ERC20 stablecoin implementation",
        "presentInScope": true
      },
      {
        "contract": "Vat.sol",
        "component": "Core Accounting",
        "notes": "Core debt/collateral accounting engine",
        "presentInScope": false
      },
      {
        "contract": "Jug.sol",
        "component": "Stability Fee",
        "notes": "Rate accrual module",
        "presentInScope": false
      },
      {
        "contract": "Pot.sol",
        "component": "Savings Rate",
        "notes": "Savings module for stable holders",
        "presentInScope": false
      },
      {
        "contract": "Spot.sol",
        "component": "Oracle Spot",
        "notes": "Price feed and collateral valuation",
        "presentInScope": false
      },
      {
        "contract": "Dog.sol",
        "component": "Liquidations",
        "notes": "Liquidation trigger/auction start",
        "presentInScope": false
      },
      {
        "contract": "Vow.sol",
        "component": "Surplus/Deficit",
        "notes": "Debt accounting and settlement",
        "presentInScope": false
      },
      {
        "contract": "DaiJoin.sol",
        "component": "Stable Join",
        "notes": "Adapter joining stable into core accounting",
        "presentInScope": false
      },
      {
        "contract": "GemJoin.sol",
        "component": "Collateral Join",
        "notes": "Adapter joining collateral into core accounting",
        "presentInScope": false
      },
      {
        "contract": "Clip.sol",
        "component": "Auction House",
        "notes": "Collateral auction mechanism",
        "presentInScope": false
      }
    ],
    "missingContracts": [
      "Vat.sol",
      "Jug.sol",
      "Pot.sol",
      "Spot.sol",
      "Dog.sol",
      "Vow.sol",
      "DaiJoin.sol",
      "GemJoin.sol",
      "Clip.sol"
    ]
  },
  "state": {
    "before": {
      "blockNumber": "63",
      "addresses": {
        "admin": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
        "keeper": "0x698acAcB4446ACaE951b5b9872a8bDC0C3c64A55",
        "vai": "0x05e0c44ce9944E16730e49e724e01c730c1FF2Eb",
        "treasury": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "keep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc",
        "uniFactory": "0x66e87CE66d53b3cfbfe413808A193cC8db733a81",
        "uniRouter": "0xe0Ea56f556aE20d022fD05501d21D85768D69cf1",
        "uniPair": "0x39b8Ee60Ac0c733884E08Bc5112f35726CCc95db",
        "wveil": "0x7c93F4a42c91EDce9286A5d88DA13b5d1CEa8116",
        "orderIntentGateway": "0x97FdEdF2B576174FD849Aac503f0a1B76B1eB615",
        "liquidityIntentGateway": "0xe467018Bec90c873b5cfF58647868AA1813850A6"
      },
      "links": {
        "vaiMinter": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "treasuryKeep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc",
        "expectedTreasury": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "expectedKeep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc"
      },
      "balancesWei": {
        "adminVai": "3000000000000000000000",
        "adminWveil": "750000000000000000",
        "treasuryVai": "0",
        "treasuryWveil": "0",
        "keeperWveil": "150000000000000000",
        "keeperBond": "1100000000000000000"
      },
      "balancesEth": {
        "adminVai": 3000,
        "adminWveil": 0.75,
        "treasuryVai": 0,
        "treasuryWveil": 0,
        "keeperWveil": 0.15,
        "keeperBond": 1.1
      },
      "keep3r": {
        "availableCreditsWei": "1000000000000000000",
        "availableCreditsEth": 1,
        "minimumBondWei": "1000000000000000000",
        "minimumBondEth": 1,
        "totalBondedWei": "1100000000000000000",
        "totalBondedEth": 1.1
      },
      "pair": {
        "token0": "0x05e0c44ce9944E16730e49e724e01c730c1FF2Eb",
        "token1": "0x7c93F4a42c91EDce9286A5d88DA13b5d1CEa8116",
        "reserve0Wei": "2000000000000000000000",
        "reserve1Wei": "2000000000000000000",
        "reserve0Eth": 2000,
        "reserve1Eth": 2,
        "blockTimestampLast": 1771606856
      },
      "totalSupply": {
        "vaiWei": "5000000000000000000000",
        "vaiEth": 5000
      }
    },
    "after": {
      "blockNumber": "73",
      "addresses": {
        "admin": "0x580358409B75e315919a9aBFEf9cB3b55F54503A",
        "keeper": "0x698acAcB4446ACaE951b5b9872a8bDC0C3c64A55",
        "vai": "0x05e0c44ce9944E16730e49e724e01c730c1FF2Eb",
        "treasury": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "keep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc",
        "uniFactory": "0x66e87CE66d53b3cfbfe413808A193cC8db733a81",
        "uniRouter": "0xe0Ea56f556aE20d022fD05501d21D85768D69cf1",
        "uniPair": "0x39b8Ee60Ac0c733884E08Bc5112f35726CCc95db",
        "wveil": "0x7c93F4a42c91EDce9286A5d88DA13b5d1CEa8116",
        "orderIntentGateway": "0x97FdEdF2B576174FD849Aac503f0a1B76B1eB615",
        "liquidityIntentGateway": "0xe467018Bec90c873b5cfF58647868AA1813850A6"
      },
      "links": {
        "vaiMinter": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "treasuryKeep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc",
        "expectedTreasury": "0x93789412A4b682D397f9B485c324BbaAabf8EED6",
        "expectedKeep3r": "0xc093Cb259B2322fb709F7096eD5D1f25121eBbFc"
      },
      "balancesWei": {
        "adminVai": "3002000000000000000000",
        "adminWveil": "755996503243133298",
        "treasuryVai": "0",
        "treasuryWveil": "3000000000000000",
        "keeperWveil": "150200000000000000",
        "keeperBond": "1100000000000000000"
      },
      "balancesEth": {
        "adminVai": 3002,
        "adminWveil": 0.7559965032431333,
        "treasuryVai": 0,
        "treasuryWveil": 0.003,
        "keeperWveil": 0.1502,
        "keeperBond": 1.1
      },
      "keep3r": {
        "availableCreditsWei": "1001800000000000000",
        "availableCreditsEth": 1.0018,
        "minimumBondWei": "1000000000000000000",
        "minimumBondEth": 1,
        "totalBondedWei": "1100000000000000000",
        "totalBondedEth": 1.1
      },
      "pair": {
        "token0": "0x05e0c44ce9944E16730e49e724e01c730c1FF2Eb",
        "token1": "0x7c93F4a42c91EDce9286A5d88DA13b5d1CEa8116",
        "reserve0Wei": "2001000000000000000000",
        "reserve1Wei": "1999003496756866702",
        "reserve0Eth": 2001,
        "reserve1Eth": 1.9990034967568666,
        "blockTimestampLast": 1771615641
      },
      "totalSupply": {
        "vaiWei": "5003000000000000000000",
        "vaiEth": 5003
      }
    }
  },
  "actionState": {
    "executed": true,
    "details": [
      "Executing state-changing flywheel probe."
    ],
    "errors": []
  }
}
