github hyperlane-xyz/hyperlane-monorepo @hyperlane-xyz/rebalancer@27.0.0

latest releases: @hyperlane-xyz/tron-sdk@22.1.0, @hyperlane-xyz/helloworld@27.0.0, @hyperlane-xyz/multicollateral@0.2.0...
11 hours ago

Major Changes

  • b05e242: Mixed-mode rebalancing was added to enable simultaneous movable collateral (EVM) and inventory (multi-VM) execution within a single rebalancer configuration, enabling cross-protocol rebalancing across EVM and Sealevel chains.

    BREAKING CHANGES:

    • inventorySigner config field was replaced with inventorySigners, a per-protocol map (Partial<Record<ProtocolType, { address: string; key?: string } | string>>). Existing configs using inventorySigner must migrate to the new schema.
    • IExternalBridge.execute() signature changed from (quote, privateKey: string) to (quote, privateKeys: Partial<Record<ProtocolType, string>>). All IExternalBridge implementations must update their execute method to accept the new multi-protocol key map.

    New features:

    • Per-protocol signer architecture supporting EVM + Sealevel keys simultaneously.
    • transferRemote execution refactored to use WarpCore.getTransferRemoteTxs() for multi-VM compatibility, with protocol-aware receipt parsing and SealevelCoreAdapter.parseMessageDispatchLogs for Sealevel message ID extraction.
    • LiFi bridge extended with Sealevel support via KeypairWalletAdapter, Hyperlane domain ID to LiFi chain ID translation, and mutex around configure+execute to prevent race conditions.
    • Startup validation for signer coverage against all inventory route protocols, per-protocol address format validation, and Solana pubkey cross-check.
    • parseSolanaPrivateKey() utility with strict 64-byte validation and base58 normalization.
    • Zod schemas hardened for strategy configs, external bridges, and inventory signers with per-protocol address validation.
    • Private key redaction in log statements and EVM-only filtering for Explorer signer addresses.

Patch Changes

  • 354668e: SnapshotHelper was extracted for shared e2e snapshot reset with timeout/retry logic. blockTag was changed to use raw eth_blockNumber RPC to bypass stale provider cache. TestHelpers race condition in getFirstMonitorEvent() was fixed with a settled flag.
  • Updated dependencies [f2620a1]
  • Updated dependencies [f7ebf6c]
  • Updated dependencies [8a6f742]
  • Updated dependencies [b05e242]
  • Updated dependencies [aee625c]
    • @hyperlane-xyz/sdk@27.0.0
    • @hyperlane-xyz/core@11.0.2
    • @hyperlane-xyz/metrics@0.2.1
    • @hyperlane-xyz/utils@27.0.0
    • @hyperlane-xyz/provider-sdk@3.0.1

Don't miss a new hyperlane-monorepo release

NewReleases is sending notifications on new releases.