Add HYPE (Hyperliquid) as a launch spoke - #635
Merged
Merged
Conversation
LandynDev
changed the base branch from
test
to
refactor/evm-coin-and-chain-cli
August 10, 2026 21:51
LandynDev
force-pushed
the
feat/hype-spoke
branch
2 times, most recently
from
August 10, 2026 22:11
a8e6037 to
55494a0
Compare
LandynDev
force-pushed
the
refactor/evm-coin-and-chain-cli
branch
from
August 10, 2026 22:21
113b991 to
e060176
Compare
LandynDev
force-pushed
the
feat/hype-spoke
branch
from
August 10, 2026 22:22
55494a0 to
08a5fdc
Compare
LandynDev
force-pushed
the
refactor/evm-coin-and-chain-cli
branch
from
August 10, 2026 22:29
e060176 to
0743697
Compare
LandynDev
force-pushed
the
feat/hype-spoke
branch
from
August 10, 2026 22:30
08a5fdc to
c611786
Compare
HyperEVM is a plain EVM JSON-RPC chain, so the pair is a registry row plus a binding of the shared EvmCoin — no contract, DB or consumer changes. - chains.py: hype, 18 decimals, 1s blocks, 2 confirmations (HyperBFT finalizes on inclusion), mainnet 999 / testnet 998. - assets/hyperliquid.py: the Hype binding, 8 lines. - evm_coin.py: the deposit scanner's block walk gains a hard ceiling so a sub-second chain cannot spend hundreds of RPC calls per pass. - Verified live on both networks: startup chain-id check, settled-transfer verification through mixed-case recipients with the sender pinned, underpayment and unknown-tx rejection, balance reads.
LandynDev
changed the base branch from
refactor/evm-coin-and-chain-cli
to
test
August 10, 2026 22:38
LandynDev
force-pushed
the
feat/hype-spoke
branch
from
August 10, 2026 22:38
c611786 to
84f8b8f
Compare
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.
Adds SOL ↔ HYPE. Stacked on #637 — merge that first; this PR's diff is only the chain itself.
HyperEVM is a plain EVM JSON-RPC chain, so the pair is a registry row plus a binding of the shared
EvmCoin. No contract, DB, or consumer changes.Everything else in the diff is
.env.example, README, and tests.Chain parameters
decimalsseconds_per_blockmin_confirmationsmin_onchain_amountreplay_grace_secsnetworks/testnet_networkHYPE_NETWORKat startupDefault keyless RPC ladders ship for both networks (
rpc.hyperliquid.xyz,drpc); those are capped at 100 req/min per IP, soHYPE_RPC_URLSshould point at a keyed endpoint (e.g. Dwellir) in production.The one shared-code change:
evm_coin.pygains a hard ceiling on the deposit scanner's block walk. At 1s blocks the existing 5-minute lookback would be ~300 sequentialeth_getBlockByNumbercalls on a first scan. The bound never binds on ~12s chains, so ETH behaviour is unchanged.Verification
uv run pytest tests/ -q→ 1108 passed; ruff format + check clean.tests/test_hype_provider.py(26 cases) covers network selection, the wrong-network startup rejection, inclusion vs settlement, receipt/timestamp unavailability raising rather than reading as absent, the full signed payload (chain id, EIP-1559 fees, estimated gas), send guards, and the scanner's bound + cursor parking.tests/test_cli_chain_networks.py) required a conscious update here —hype-networkin the settable keys,hype: testnetin the testnet bundle,hype: mainnetin the mainnet bundle. A new chain cannot slip into the CLI unnoticed.alw miner quotes --helpshows--hype-price/--hype-address;alw configshows thehype-networkrow;alw config set --helplistsmainnet | testnet— all derived, none hand-written.Notes
chains.pyfromtest); verified green against this branch withALLWAYS_BRANCH=feat/hype-spoke.