{
 "built": "2026-09-14T01:41:16.339Z",
 "builders": {
  "js/irm.js": "332fb6656b858074eee472d67e84d97b5dcc4dd6fc863c021fddaf3f3723d127",
  "js/sim.js": "3cf731f5d023e9bdf85000296136a919e6fbdc593fea2315d8c066461c51e591",
  "js/move.js": "dda0fcb0d19b554e82abed5465315ac937c50c27558f2e40761e36c1d729a5ac",
  "js/route.js": "753d479df935b11f72c55f6580d40d442e0eec84ca10667d9aaaecd468d10543",
  "js/bundles.js": "a99c1028fccebfd2b8c1a825a807f6eaef290967e2eeeb01558179a4017cb223"
 },
 "items": [
  {
   "key": "scan",
   "ok": true,
   "head": "69 markets and 565 pools read at one block",
   "body": "Every market on this chain that lends the chain's dollar and uses the Adaptive Curve, read at block 62415907, its id re-derived by hashing its own parameters and its oracle checked against a Uniswap pool for the same stock — a price from outside Morpho. 7 were flagged and are never offered as a destination. The rate model agrees with the port on 69 of 69."
  },
  {
   "key": "fork",
   "ok": true,
   "head": "35 of 35 checks on a fork of this chain",
   "body": "A position opened and then moved from AAPL to NVDA by the same files the page loads, and read back off Morpho afterwards: the old market emptied, the new one filled, the collateral exact to the wei against the local simulation, the debt unchanged but for the interest of the seconds in between, the rate predicted for a state that had not happened equal to the rate the market charged once it had, nothing left in the adapter, in Bundler3 or in the router, and no allowance or authorisation left standing. Four refusals were required to revert, and did."
  },
  {
   "key": "e2e",
   "ok": true,
   "head": "13 of 13 checks clicking through this page against a fork",
   "body": "A stub wallet opened a position on the Open tab and moved it on the Move tab, in a real browser, with the page's OWN reads pointed at the fork. The first thing the run checks is that substitution — the wallet chip has to show the dollars the run funded — because a page reading the live chain while its transactions go to a fork proves nothing at all."
  },
  {
   "key": "addresses",
   "ok": true,
   "head": "14 of 14 address checks against the chain",
   "body": "Every address in js/config.js has code, and carries the exact function selectors this site calls — including morphoFlashLoan on the deployed adapter, which the whole product rests on. A control looks for a selector that cannot exist and must not find one."
  },
  {
   "key": "notbuilt",
   "ok": null,
   "head": "not built",
   "body": "A sabotage sweep: breaking one part of a move at a time — the size of the flash loan, the repayment by shares, the minimum on the swap — and requiring the suites to notice each one. Until that exists they show that the move works, not that they would catch it breaking. This line is here so the gap is not mistaken for a clean bill."
  }
 ]
}
