Skip to content

Release daski v0.10.0 - #1

Merged
pawmmm merged 7 commits into
mainfrom
develop
Aug 21, 2026
Merged

pawmmm merged 7 commits into
mainfrom
develop

Conversation

@pawmmm

@pawmmm pawmmm commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

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).

pawmmm added 7 commits August 17, 2026 17:40
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.
@pawmmm
pawmmm merged commit 2a2ad87 into main Aug 21, 2026
4 checks passed
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