{
  "generatedAt": "2026-02-20T19:26:17.889Z",
  "runDir": "C:\\Users\\Josh\\hypersdk\\examples\\veilvm\\evidence-bundles\\flywheel-audit\\flywheel-20260220-142617",
  "execute": true,
  "failOnAnyGap": false,
  "overallPass": false,
  "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": "C99_EXECUTION_PATH",
      "ok": false,
      "notes": "Execution probe failed: nonce has already been used (transaction=\"0x02f8748256bf3501850ba43b7401827541947c93f4a42c91edce9286a5d88da13b5d1cea8116872386f26fc1000084d0e30db0c080a0a423a2ecf8d3b739fd9c662ab4440ed177e285312901ef1783bdb11ef19502baa013453f62ba9dd18d73be2e4b6c6ff9ae2444a664f99b8e2ee0e053b8e4fdc6bf\", info={ \"error\": { \"code\": -32000, \"message\": \"nonce too low: next nonce 54, tx nonce 53\" } }, code=NONCE_EXPIRED, version=6.16.0)"
    },
    {
      "id": "C08_KEEP3R_INFRA_JOBS",
      "ok": true,
      "notes": "VeilTreasury:on, OrderIntentGateway:on, LiquidityIntentGateway:on"
    },
    {
      "id": "C09_KEEP3R_CREDITS_POSITIVE",
      "ok": true,
      "notes": "availableCreditsWei=1000000000000000000"
    },
    {
      "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."
    },
    {
      "id": "F005",
      "severity": "high",
      "message": "Stateful flywheel probe failed: nonce has already been used (transaction=\"0x02f8748256bf3501850ba43b7401827541947c93f4a42c91edce9286a5d88da13b5d1cea8116872386f26fc1000084d0e30db0c080a0a423a2ecf8d3b739fd9c662ab4440ed177e285312901ef1783bdb11ef19502baa013453f62ba9dd18d73be2e4b6c6ff9ae2444a664f99b8e2ee0e053b8e4fdc6bf\", info={ \"error\": { \"code\": -32000, \"message\": \"nonce too low: next nonce 54, tx nonce 53\" } }, code=NONCE_EXPIRED, version=6.16.0)"
    }
  ],
  "transactions": [
    {
      "step": "keep3r.setJob(VeilTreasury,true)",
      "hash": "0x8a590f7d5438dd94ea8731063d556e6af0e26c1ba67f4f877e48d74520ccce8f",
      "status": "SUCCESS",
      "blockNumber": "61",
      "gasUsed": "47699"
    },
    {
      "step": "keep3r.setJob(OrderIntentGateway,true)",
      "hash": "0x339bda21b1823db84ffc65ce7a07d419f92969de36303e55bac7e5e05370aa5f",
      "status": "SUCCESS",
      "blockNumber": "62",
      "gasUsed": "47699"
    },
    {
      "step": "keep3r.setJob(LiquidityIntentGateway,true)",
      "hash": "0x4b9ffd1bda6cc6312b2b2f4548559298435b03b33cffd588056de5bbeb8b354a",
      "status": "SUCCESS",
      "blockNumber": "63",
      "gasUsed": "47699"
    }
  ],
  "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": false,
      "OrderIntentGateway": false,
      "LiquidityIntentGateway": false
    },
    "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": "60",
      "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": "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
      }
    }
  },
  "actionState": {
    "executed": true,
    "details": [
      "Executing state-changing flywheel probe."
    ],
    "errors": [
      "nonce has already been used (transaction=\"0x02f8748256bf3501850ba43b7401827541947c93f4a42c91edce9286a5d88da13b5d1cea8116872386f26fc1000084d0e30db0c080a0a423a2ecf8d3b739fd9c662ab4440ed177e285312901ef1783bdb11ef19502baa013453f62ba9dd18d73be2e4b6c6ff9ae2444a664f99b8e2ee0e053b8e4fdc6bf\", info={ \"error\": { \"code\": -32000, \"message\": \"nonce too low: next nonce 54, tx nonce 53\" } }, code=NONCE_EXPIRED, version=6.16.0)"
    ]
  }
}
