Makalu "Extra Works" — Dependency Requests
These are the concrete inputs needed from external teams to unblock streams 2–6 of the Makalu extra-works backlog. Each block is written so it can be forwarded as-is. Full plan: ~/.claude/plans/have-some-extra-works-warm-rossum.md.
Status snapshot (2026-06-21): Stream 1 (LEP100 faucet) is done — verified working in prod, fixed an FGPT/MUSA metadata swap. Stream 7 (toolchain) is unblocked and independent of all teams below.
Stream 2 — MultX Swap (→ Backend / Bridge team)
The MultXBridge contract is deployed at 0x5832D5E609c6690f74c7683606Eb20F89ff096a6 on chain 700777, but there is no bridge/swap code in the Makalu monorepo. To build the in-repo swap UI + API + indexing, we need:
MultXBridge ABI (JSON) — the deployed contract's ABI, plus its source if available.
Counterpart-chain details — the bridge contract address(es) on the other chain(s) and which chains are supported, plus the token map (which LEP-100 / ERC-20 tokens bridge to what on each side).
Lock/release event signatures — the exact events emitted on lock and on release/claim (names + indexed topics) so the indexer can ingest them into a
bridge_transferstable.Claim/release flow spec — since release is claim-based (no auto-executor), what exactly does a user submit to claim? The proof/attestation format (signature scheme, message structure, who signs), and the function signature they call.
Where the existing bridge UI lives — prior notes reference
BridgeRelease.jsxandrelay-release.jsfrom the 2026-06-17 deploy. Which repo/path? We may port that logic rather than rewrite it.
With the above we can ship: SDK ABI export, /api/bridge/* (tokens, history, claimable), indexer ingestion, and an explorer bridge.tsx + claim component.
Stream 3 — Thanos Wallet (→ Wallet team)
The explorer already uses Web3Modal v5 + WalletConnect (Makalu/explorer/context/WalletContext.tsx). Wiring Thanos in is small once we know what kind of wallet it is:
If Thanos is a WalletConnect wallet: its WalletConnect Explorer (registry) ID (the hex ID used in
featuredWalletIds). Confirm it is listed in the WalletConnect registry.If Thanos is a browser extension / injected wallet: its EIP-6963 provider RDNS (and whether it exposes a standard EIP-1193 provider), or a link to its SDK/integration docs.
Confirm Thanos supports chain 700777 (EVM RPC
https://rpc.litho.ai); if it needs a custom add-chain config, provide the expected parameters.
With (1) or (2) we can make Thanos the primary/featured wallet and smoke-test connect + a signed tx.
Stream 4 — DNNS integration (→ DNNS team, dnns.litho.ai)
The explorer currently resolves only literal 0x… and litho1… addresses. To add *.litho-style name resolution we need the resolution interface — either:
On-chain resolver: resolver contract address + ABI on 700777, with the methods for forward (
name → address) and reverse (address → name) resolution, and the domain suffix convention; orREST API: base URL + endpoints for forward/reverse lookup, the response schema, auth (if any), and rate limits.
Also useful: a couple of known registered names for testing, and whether resolution should be cached (TTL guidance). The public docs page renders client-side and didn't expose these — a short integration spec or OpenAPI/ABI file is ideal.
Stream 5 — Quantts integration (→ Quantt team, research.quantt.at / dev.quantt.at)
Greenfield; the public endpoint returns 403 so we have no contract to build against. We need:
API base URL (prod + dev) and auth scheme — API key? OAuth? Where do we get a key/credentials?
Endpoints + response schemas for the data we'd surface — confirm with the product owner what should appear in the explorer (e.g. token analytics, risk metrics, quant research, price feeds).
Rate limits / caching guidance (we'll proxy server-side via
/api/quant/*and cache in Redis so the key never reaches the browser bundle).
With the API spec + a key we can build the server-side proxy and the explorer analytics widget(s).
Stream 6 — Validator infra cleanup (→ Validator infra team)
This is ops work in the Ansible/validator-infra repo, which is not in this monorepo. To execute we need:
Repo access to the validator Ansible repo (and confirmation of which inventory is authoritative).
A change window for config pushes / sentry restarts.
Scope once unblocked (from prior findings):
Clean
app.toml.j2so anansible --tags configdry-run shows only intended deltas — today it carries 40+ pending drift changes (RPC0.0.0.0exposure, telemetry flips, economics) that make--tags configunsafe, forcing surgicalsededits and defeating intent-as-code.Align the 4 drifted sentries (AWS
10.0.1.218,10.1.1.227+ 2 Hostinger) fromtimeout_commit=3s / timeout_propose=900msto match the active validators (timeout_commit=500ms).Add automated drift detection (scheduled diff of live
config.toml/app.tomlvs. Ansible intent), since drift has recurred (Kamet val-04 2026-05-05, mtest-val-01 2026-05-08).
Last updated