Repository navigation
Conversation
Trust canonical upstream addresses and runtime readiness instead of brittle implementation pins. Preserve provider-aware service activity, registry ABI probes, and focused regression coverage.
Interfaces only: the build, tests, deploy scripts, and CI stay pinned to forge v1.5.1, keeping compiled bytecode byte-identical to the reviewed candidate hashes. vm.rpcJson executes only under the separately pinned nightly binary that the release rehearsal and GO invoke by absolute path for the manifest activation gate (forge 1.5.1 returns vm.rpc results ABI-encoded, which that gate cannot parse; nightly builds drift compiled bytecode, so they must not compile the shipped contracts).
Under forge v1.5.1, vm.rpc returns receipts and block tags ABI-encoded; the activation gate's parseJson checks could never execute and its first fork rehearsal failed. Swap the three vm.rpc call sites to vm.rpcJson; every receipt, event, position, and finality check is preserved byte-identical. The gate is executed with the separately pinned nightly binary that implements rpcJson (see forge-std bump commit); the rest of the toolchain stays on v1.5.1. Adds negative receipt coverage: reverted transaction, wrong target, wrong block number, wrong block hash, wrong event salt, wrong event data.
vm.rpcJson requires a nightly forge whose codegen drifts the reviewed bytecode, and the gate self-verifies against its own compiled factory runtime — so the gate must run under the same pinned v1.5.1 toolchain that built the contracts. Rework the transport to v1.5.1-native typed cheatcodes: vm.eth_getLogs supplies the deployment event with transaction hash, block number and hash, indices, topics, and data (a matching log also proves transaction success and factory emission), and the fork pin equality (vm.getBlockNumber) binds the manifest input to the executed activation block. The checkpoint's canonical hash and finalized status are verified across two independent RPC views by the release evidence capture. Every event-level check is preserved; negative coverage is struct-based: missing/duplicate events, foreign emitter, reorg-removed, wrong block number/hash, wrong salt/outcome/data.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contract audit hardening: settlement provenance and reputation hardening, security audit findings closure, registry pause completion, legacy residue removal, Safe-governed reputation resolver deployment ceremony. Release under docs/release-plans/2026-08-20-audit-hardening-cutover.json (daski-deploy-testnet).