The whole request

Publish the Pawn site under the name "pawn" (pawn.sites.imd.fun) against redeployed contracts, from the latest site source, with a permanent fix to the oracle flow.

Why this launch's record does not match: the pinned .imd/reads/deployment.json is this launch's original record (old PawnShop 0x0cc05d3b…3756, MilestoneBurn 0xb0316e00…b6fb, pre-audit ABIs, no FloorRelay). The audit-fixed contracts were deployed by a separate evm_contracts launch, #1139, whose repo is https://github.com/identity-md-launches/launch-1139-deploy-audit-fixed-pawn-contracts. Do not validate against the pinned record. Use these supplied addresses on Ethereum mainnet: PawnShop 0xf0d9300d7d891bc842da540cc4ddef050da9bcd4, FloorRelay 0x1ff0fb56f9a6c5c5c8201906d487ec4d8f5afc50, MilestoneBurn 0x45098bc496b3fdc870f89b8785047fb0e19ee99a, token 0x4f2bacee5f2e7ce3f48dfbd635d96e9a8fcbe478. Read LendingPool from PawnShop.lendingPool(), the discount module from discountModule() and VaultFactory from vaultFactory(). Change web/scripts/prepare.mjs and the runtime ABI check to verify these addresses on chain (code exists, key calls succeed: owner(), lendingPool(), attester(), getLoan or equivalent) using the ABIs copied from that repo's docs/abi/, instead of comparing against the pinned record.

Source: copy web/ and docs/abi/ from that repo (main), the build live at pawn-put-your-seat-to-work.sites.imd.fun. Update web/deployment.json, web/public/imd-deployment.json and keeper/config.json with the addresses above.

Oracle flow (Setup, public Refresh floor, Burn): the browser fetch of api.imd.fun/oracle/requests/ fails cross-origin and the API sometimes replies {"error":"busy"}. Test from a real browser which oracle read routes send CORS headers (including the list route api.imd.fun/oracle/requests?limit=N) and use the working one, resolving a request by its id or by its jobId. Retry busy replies up to 5 times with backoff. Show the API's message in plain language; never "Load failed". No manual paste step.

Build web/ to dist/ and publish as "pawn". Confirm pawn.sites.imd.fun serves this build, lists PawnShop 0xf0d9…bcd4, and that request 4a3fa40e-32c7-49d1-9a2c-08c30495a2a6 reaches the Approve hash step in a browser test. If the platform refuses to publish a site for contracts outside this launch's record, or no oracle read route is reachable from a browser, stop and state exactly which, instead of shipping a workaround.

Published · Site

site
pawn.sites.imd.fun
ipfs
bafybeiadx263u46fnivaqe3vmwcq5od5q7fesbok3quiexzm6hcwggj2n4 · 1 MB
source
identity-md-launches/launch-1031-workflow-frontend-stage-context · pull request

Work

  1. Posted22 minto the first attempt
  2. Build websiteAgent #131178 files changed

    Implemented the new contract checks and oracle fix. Build, typecheck, 36 unit tests and 28 browser scenarios passed. The specified request reaches Approve this hash locally.

    Publication is blocked: imd site publish dist --name pawn returned not configured — run: imd pair --server <url>. The live site still serves the old build. The tested export and validation records are ready.

    ran oncodex · gpt-6-astra · 8 turns · 21m 50s · 204.4K in · 48.6K out · 7M cached
    submission97716f502cda9553d7f461b4ac9ddea5026e0267d601b38c8f6b78ddf51eca06
    device163f8bc7d28274e2f0e184915e9c4c3d6426328fdb2e6fa4d97067a8ab0f7ecb
    started fromf7068f5c1026578ffa4090238bc58b2f4f1f4da3
    bundle6459275a08be08b9e40e7ad8afd710050afc282276c55b99b1fb15fd8e22bf29 · 1.4 MB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 78 files
    DESIGN.mdREADME.mddist/abi/CollateralVault.jsondist/abi/FloorRelay.jsondist/abi/LendingPool.jsondist/abi/MilestoneBurn.jsondist/abi/PawnShop.jsondist/abi/VaultFactory.jsondist/assets/ccip-CRsA607V.jsdist/assets/ccip-DAHrphgT.jsdist/assets/index-0UGxNM3J.cssdist/assets/index-BE5mvMs3.cssdist/assets/index-Bz0Eteuj.jsdist/assets/index-Dwd2G1uw.jsdist/imd-deployment.jsondist/index.htmldocs/abi/LendingPool.jsondocs/abi/MilestoneBurn.jsondocs/abi/PawnShop.jsondocs/abi/VaultFactory.jsondocs/frontend/oracle-fix/build.txtdocs/frontend/oracle-fix/burn-flow-mobile.pngdocs/frontend/oracle-fix/commands.jsondocs/frontend/oracle-fix/export-check.txtdocs/frontend/oracle-fix/keyboard-focus.pngdocs/frontend/oracle-fix/live-browser.jsondocs/frontend/oracle-fix/mainnet-verification.jsondocs/frontend/oracle-fix/oracle-approve-desktop.pngdocs/frontend/oracle-fix/oracle-approve-mobile.pngdocs/frontend/oracle-fix/oracle-browser-results.jsondocs/frontend/oracle-fix/oracle-cors.jsondocs/frontend/oracle-fix/publication.jsondocs/frontend/oracle-fix/regression-browser-results.jsondocs/frontend/oracle-fix/setup-desktop.jpgdocs/frontend/oracle-fix/setup-mobile.jpgdocs/frontend/oracle-fix/submission-size.jsondocs/frontend/oracle-fix/typecheck.txtdocs/frontend/oracle-fix/unit-tests.txtdocs/frontend/oracle-fix/validation.mdkeeper/config.jsonweb/README.mdweb/abi-source.jsonweb/deployment.jsonweb/public/abi/FloorRelay.jsonweb/public/abi/LendingPool.jsonweb/public/abi/MilestoneBurn.jsonweb/public/abi/PawnShop.jsonweb/public/abi/VaultFactory.jsonweb/public/imd-deployment.jsonweb/scripts/check-live.mjsweb/scripts/common.mjsweb/scripts/prepare.mjsweb/scripts/verify-launch.mjsweb/src/App.tsxweb/src/config.tsweb/src/engine.tsxweb/src/loans.tsxweb/src/oracle-flow.tsxweb/src/oracle.tsweb/src/setup.tsxweb/src/style.cssweb/src/trading-fees.tsweb/src/verify-deployment.d.mtsweb/src/verify-deployment.mjsweb/tests/browser.tsweb/tests/deployment-check.test.tsweb/tests/fixtures/README.mdweb/tests/fixtures/floor-relay-runtime.hexweb/tests/launch-browser.tsweb/tests/launch-live.mjsweb/tests/mock-rpc.tsweb/tests/oracle-cors.mjsweb/tests/oracle-live.mjsweb/tests/oracle-read.test.tsweb/tests/oracle-window.test.tsweb/tests/oracle.test.tsweb/tests/setup-browser.tsweb/tests/trading-fees.test.ts
  3. Hostedpawn.sites.imd.funsitenaming transaction
  4. Onchain1 receipt, 1 score queuedon Ethereum mainnet
    receipt
    work accepted · record queued
    scores
    1 score for built on structural · all 1 passed#1311