feat: align keeper + MM with 1 PH/s/day contract unit#33
Merged
Conversation
Read CONTRACT_SIZE_HPS_DAY / ORACLE_UNIT_HPS_DAY from the venues and apply the contract-size rebase to off-chain oracle prices (keeper priceFeed, MM rawOracle and the perps/futures venue adapters), matching on-chain getMarketPrice(). Remove the deliveryDurationDays multiplier from the keeper predict/solve/snapshot layers and the futures venue. PME getNetPositionDelta comment clarified (per-day delta, no duration factor). Keeper unit + integration tests updated.
Separate, unrelated in-progress portfolio market-maker feature (portfolio runner, circuit breaker, nonce/tx coordination, collateral/health tracking, schemas and config) committed as-is per request. Not part of the PH/s contract-unit change.
Repin derivatives-marketplace (c8078b9e) and futures-marketplace (5e28bb34) to exact post-merge dev commits so lockfiles and CI resolve the ABIs carrying CONTRACT_SIZE_HPS_DAY, avoiding pnpm's cached #dev branch drift.
Pin the Matchstick binary to 0.6.0 in both indexers so `graph test` no
longer hits the GitHub API for the "latest" release tag — that call gets
rate-limited on CI and returns no tag_name, throwing "Invalid version.
Must be a string" and breaking the points-subgraph deploy.
Drop the public /health smoke-test from the keeper deploy: the keeper is
behind an internal (VPC/VPN-only) ALB, so keeper.{env}.hashpower.exchange
is unreachable from GitHub-hosted runners. Rollout health is already
asserted via the ECS deployment state + ALB target-group health check.
Pin the Matchstick binary to 0.6.0 in both indexers so `graph test` no
longer hits the GitHub API for the "latest" release tag — that call gets
rate-limited on CI and returns no tag_name, throwing "Invalid version.
Must be a string" and breaking the points-subgraph deploy.
Drop the public /health smoke-test from the keeper deploy: the keeper is
behind an internal (VPC/VPN-only) ALB, so keeper.{env}.hashpower.exchange
is unreachable from GitHub-hosted runners. Rollout health is already
asserted via the ECS deployment state + ALB target-group health check.
ci: fix flaky subgraph tests and unreachable keeper health check
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.
Summary
CONTRACT_SIZE_HPS_DAY/ORACLE_UNIT_HPS_DAYfrom the venues and apply the contract-size rebase to off-chain oracle prices (keeperpriceFeed, MMrawOracle+ perps/futures venue adapters), matching on-chaingetMarketPrice(). Removes thedeliveryDurationDaysmultiplier from the keeper predict/solve/snapshot layers and futures venue. PMEgetNetPositionDeltacomment clarified (per-day delta, no duration factor).Test plan
pnpm test(keeper) — 272 passing, 0 failingpnpm typecheckafter ABI deps are republished/re-resolved (needs the newCONTRACT_SIZE_HPS_DAY()getters + futuresinitializesignature)Migration note
ABI deps (
derivatives-marketplace-abi,futures-marketplace-abi) are pinned to old commits; republish the regenerated ABIs and repin the lockfile before typecheck/integration pass.