Add read-only deployed-cluster swap readiness - #53
Conversation
jglanz
left a comment
There was a problem hiding this comment.
you are recreating functionality with your readiness tool, the correct approach is to add new Steps and PhaseGroups to cluster-tool and then refactor your tool into FlowScenario(s) which already have reports, tooling and infrastructure; this approach would mean that running e2e-tests includes you hub readiness data and validation.
0136a2e to
2db8ce4
Compare
|
Refactor complete:
|
|
Status: swap readiness and exact outpost deployment-profile verification are implemented. This PR consumes wire-libraries-ts#56; its final frozen dependency update follows that SDK publication. Architecture: readiness stays read-only and uses the existing orchestration/Report system. It delegates ETH/SOL runtime identity checks to the SDK instead of duplicating verifier logic, keeps mutable endpoints separate from immutable deployment identity, and reports preflight readiness separately from a future funded transactional canary. Producers: Ethereum artifacts #176 · Solana artifacts #414 |
e16f086 to
879cd0e
Compare
Summary
Adds a manual, read-only
wire-cluster-tool readinesspreflight for an already deployed Wire/Ethereum/Solana network group. It reuses the existing Steps, PhaseGroups, orchestration Report, and typedsdk-coreclients; it is not wired into bootstrap, FlowScenarios, Hub, or CI.Independent verdicts
The report keeps four proof levels separate:
clusterLive: required endpoints, chain identities, fresh heads, and observed head/slot advancement passed;swapPreflightReady: depot configuration, epoch, reserve, underwriter, route, and quote checks passed;swapReady: remains false until a funded transaction canary settles; andpreflightReady/transactionallyVerifiedevidence.Endpoint-catalog and Hyperion failures are advisories when the three required RPCs are available.
Optional sdk-outpost compatibility
An ordinary chain-id/RPC run evaluates cluster and swap health without sdk-outpost deployment verification.
When
--outpost-deployment-profile-fileis supplied, a separate non-gating section checks the profile's exact Wire binding, Ethereum EIP-1967 implementations and code hashes, Solana ProgramData identity and hashes, and external reserve custody. Missing/incompatible sdk-outpost inputs remain advisories and do not turn an otherwise healthy cluster or feature verdict red.Swap checks
sysio.msgch::envlogevidence for valid scheduler catch-up;sdk-core.The epoch result distinguishes
on-time, demonstrablyadvancing-late, andstalled-or-unproven. Wire head movement is independent evidence and is never treated as proof of epoch progression.Run it
Add
--outpost-deployment-profile-file <profile.json>only for the optional exact-deployment section. RPC overrides remain available immediately after a respin.Proof boundary
This command does not fund wallets, execute swaps, mutate deployments, or prove OPP circulation, destination payout, retry/idempotency, terminal Solana behavior, or durable/partial refunds. Those require funded transaction canaries.
Verification
cluster-toolandcluster-tool-sharedcompilation passed;git diff --checkpassed.The broad local process suite requires platform binaries unavailable in the current macOS environment and later exhausted Node's 4 GB heap. The current GitHub build is not green, so this PR intentionally remains a draft local operator tool rather than a merge candidate.