Skip to content

test: validate Polymarket v2 end-to-end environments - #67

Merged
md0x merged 8 commits into
unaudited-pm-v2-oo-reporterfrom
pablo/fro-111-polymarket-v2-e2e-test-env
Aug 14, 2026
Merged

test: validate Polymarket v2 end-to-end environments#67
md0x merged 8 commits into
unaudited-pm-v2-oo-reporterfrom
pablo/fro-111-polymarket-v2-e2e-test-env

Conversation

@md0x

@md0x md0x commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add versioned Staging VNet and Amoy manifests with deployment history, runtime hashes, UUPS topology, source/ABI provenance, ownership, roles, allowlists, and cross-contract bindings.
  • Add read-only fork checks plus a full Forge-local VNet lifecycle from Polymarket request registration through Managed OO settlement, the reporter callback, aggregator finalization, and binary payout.
  • Document reproducible setup, provenance checks, event evidence, funding/reset behavior, and the supported Amoy subset and blockers.

This targets unaudited-pm-v2-oo-reporter because the fixtures validate the post-audit integration currently proposed in #65.

Validation

  • forge test --no-match-contract '.*Fork.*' -vv — 83 passed
  • PolymarketV2ManifestTest — 1 passed
  • PolymarketV2VNetWiringForkTest — 3 passed
  • PolymarketV2EndToEndForkTest — 2 passed
  • PolymarketV2AmoyWiringForkTest at the pinned snapshot — 3 passed
  • Amoy latest-state mode — 2 passed, 1 expected historical-check skip
  • Clean environment without RPC variables — manifest passes, 8 fork tests skip explicitly
  • Source, ABI, deployment-record, and Git-blob provenance check — passed

Safety and environment scope

All lifecycle mutations run inside Forge's disposable local EVM. The suite contains no broadcast path, signer, private key, service credential, or remote impersonation/write method.

Amoy passes the exact wiring and authorization subset. Its automatic lifecycle remains blocked because the deployed reporter is the base OOReporter and OOReporterModule has no selected operator.

Linear: FRO-111

@linear

linear Bot commented Aug 5, 2026

Copy link
Copy Markdown

FRO-111

@md0x
md0x marked this pull request as ready for review August 14, 2026 16:13
@md0x
md0x merged commit 1876b7c into unaudited-pm-v2-oo-reporter Aug 14, 2026
5 of 6 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46889d0042

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

exit 1
fi
done < <(
jq -r '.contracts | to_entries[] | select(.value | type == "object" and has("repository")) | [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Propagate jq failures from provenance extraction

When jq is unavailable or cannot parse a manifest, it runs inside a process substitution whose failure is not propagated by the surrounding while loop, even with set -euo pipefail. All three loops can therefore process zero records and the script still exits successfully with “provenance verified,” leaving the advertised source and ABI checks bypassed. Capture and validate each jq result before iterating, or otherwise explicitly wait for and check the producer status.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant