Skip to content

[evm,sdk,tesseract,docs]: redeploy testnet EvmHost to align GET ABI with mainnet#1009

Merged
seunlanlege merged 1 commit into
mainfrom
testnet-host-redeploy
Jun 30, 2026
Merged

[evm,sdk,tesseract,docs]: redeploy testnet EvmHost to align GET ABI with mainnet#1009
seunlanlege merged 1 commit into
mainfrom
testnet-host-redeploy

Conversation

@seunlanlege

@seunlanlege seunlanlege commented Jun 30, 2026

Copy link
Copy Markdown
Member

Why

The deployed Gargantua V3 testnet host (0xEB94…311D) runs a pre-payer DispatchGet ABI (selector 0xd22e3343), whereas mainnet and @hyperbridge/core@latest ship the payer variant (0x0175539c). GET dispatch from the published SDK therefore reverts with "unrecognized function selector" against testnet — see #1007.

The host isn't behind a proxy, so fixing the ABI requires a redeploy to a new address. This PR redeploys only the host (+ a fresh HostManager, since setIsmpHost is one-shot), reuses the existing stateless infra (HandlerV2, ConsensusRouter, fee token, CallDispatcher), redeploys IntentGateway/SolverAccount on the gateway chains, and repoints every reference. BandwidthManager is intentionally not redeployed on testnet.

New testnet deployment (all 8 EVM chains, deterministic identical addresses)

Contract Address
TestnetHost 0x9AA003594d59C62EE17A73A569Fd7B1DbdBd71E1
HostManager 0xa7273Cb04E99978CF5c0A935e92EC95F09e9D44a
IntentGatewayV2 (97, 80002) 0x6CF42FA9BecbC5b6a26884964956b113530f7cFA
SolverAccount (97, 80002) 0x07FeC66d967800998060194EaECDd7C66dA4a1B1
WrappedHFT (BSC, WBNB) 0x5ae3C15EFa6FC9D226c108bD3c706F2400Ab7311
HyperFungibleToken (Amoy, hBNB) 0x1bd0AB7686710a66255d4EFe4826f43CF2A11a1F

The HFT test pair was redeployed against the new host (their _host is a one-shot setter, so the old tokens couldn't be repointed) and re-peered both directions.

Old host 0xEB94…311D is retired. Bootstrapped with the live consensus state read from the old Sepolia host. Verified on-chain: new host exposes dispatch GET (payer) 0x0175539c and no longer has 0xd22e3343.

Contents

  • evm: config.testnet.toml updated with the new HOST/HOST_MANAGER/INTENT_GATEWAY_V2/SOLVER_ACCOUNT (host-only redeploy reusing the existing stateless infra).
  • tesseract: registry.rs host addresses; also fixes the stale Gnosis-Chiado entry (it pointed at 0xEB94…, which has no code on Chiado — corrected to its real host 0x58A4…). Relayer crate bumped to 2.4.7.
  • sdk: chain.ts host + gateway/solver; DispatchGet gains the payer field in the TS type and all ABIs (evmHost, IntentGateway, IntentGatewayV2, hyperFungibleToken); hyperFungibleToken.test.ts points at the redeployed token pair. Package bumped to 2.3.0.
  • indexer: new host + per-chain start blocks (config-testnet.json, config-local.json).
  • docs: testnet contract addresses.

Required follow-ups (operational, not in this PR)

  1. Submit the Nexus governance via sudo on Gargantua: host-executive::update_evm_hosts (all 8 → new host) + intents-coprocessor::add_deployment for EVM-97/EVM-80002 (new gateway, params host=new, dispatcher=0x2B33…, solverSelection=true, surplus=5000bps, fee=30bps).
  2. Tesseract resync — set ismp_host per chain in the operator config and restart with initial_height = new deploy block per chain.
  3. Publish @hyperbridge/sdk 2.3.0 so testnet consumers pick up the new host + payer-GET.

Notes

  • Old-host in-flight messages are abandoned by design (testnet).
  • Polkadot-testnet host explorer verification is still pending (code is on-chain; cosmetic).

@seunlanlege seunlanlege force-pushed the testnet-host-redeploy branch 2 times, most recently from 66f58c3 to 2f03b23 Compare June 30, 2026 14:02
@seunlanlege seunlanlege force-pushed the testnet-host-redeploy branch from 2f03b23 to e4a83c1 Compare June 30, 2026 14:08
@seunlanlege seunlanlege force-pushed the testnet-host-redeploy branch from e4a83c1 to a7ea96c Compare June 30, 2026 14:11
…ith mainnet

The deployed Gargantua V3 testnet host (0xEB94…311D) ran a pre-`payer`
`DispatchGet` ABI (selector 0xd22e3343), while mainnet and `@hyperbridge/core`
latest ship the `payer` variant (0x0175539c). GET dispatch from the published
SDK therefore failed against testnet (see #1007). The host (+ HostManager) was
redeployed to the current ABI, reusing the existing stateless infrastructure;
this repoints everything at the new addresses.

New testnet deployment (all 8 EVM chains, identical addresses):
- TestnetHost:  0x9AA003594d59C62EE17A73A569Fd7B1DbdBd71E1
- HostManager:  0xa7273Cb04E99978CF5c0A935e92EC95F09e9D44a
- IntentGatewayV2 (97, 80002): 0x6CF42FA9BecbC5b6a26884964956b113530f7cFA
- SolverAccount  (97, 80002): 0x07FeC66d967800998060194EaECDd7C66dA4a1B1

HyperFungibleToken test pair redeployed against the new host (their `_host` is a
one-shot setter so the old tokens could not be repointed):
- WrappedHFT (BSC, WBNB): 0x5ae3C15EFa6FC9D226c108bD3c706F2400Ab7311
- HFT (Polygon Amoy, hBNB): 0x1bd0AB7686710a66255d4EFe4826f43CF2A11a1F

Changes:
- evm: config.testnet.toml updated with new HOST/HOST_MANAGER/INTENT_GATEWAY_V2/
  SOLVER_ACCOUNT.
- tesseract: registry.rs host addresses; also fixes the stale Gnosis-Chiado entry
  (was pointing at an address with no code; now its real host 0x58A4…).
  Relayer crate bumped to 2.4.7.
- sdk: chain.ts host + gateway/solver addresses; DispatchGet gains the `payer`
  field in the TS type and all ABIs (evmHost, IntentGateway[V2], hyperFungibleToken).
  hyperFungibleToken.test.ts points at the redeployed token pair. Package bumped to 2.3.0.
- indexer: new host + per-chain start blocks.
- docs: testnet contract addresses.
@seunlanlege seunlanlege force-pushed the testnet-host-redeploy branch from a7ea96c to 69e6973 Compare June 30, 2026 14:33
@seunlanlege seunlanlege merged commit 57982b9 into main Jun 30, 2026
26 of 30 checks passed
@seunlanlege seunlanlege deleted the testnet-host-redeploy branch June 30, 2026 16:55
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.

3 participants