Skip to main content

Dispatcher and Modules

The Dispatcher is the public entry point for Multiswap. It maps function selectors to module implementations and executes those calls against shared storage.

Clients send calls to the Dispatcher. Pool-aware functions receive the pool address as an argument identifying the relevant ledger subtree.

Modules​

Installed modules provide pool reads, quote parameters, Reserve Asset quotes and swaps, LP liquidity, signed intents, deposits, staking, oracle reads, and testnet faucets.

Quote and liquidity execution can call their installed view selectors back through the Dispatcher. This reuses the module implementation while preserving the shared pool state.

Upgrades​

The routing shell is immutable, but its installed selector mappings can be changed by the authorized owner. Each function’s current implementation is determined by its installed selector mapping.

Replacing a module updates behavior while preserving the pool’s ledger state. Integrators should pin a reviewed ABI and monitor relevant module and configuration changes.

Pool identities​

Several pools can share the Dispatcher. Each has its own accounts, registered asset roles, parameters, and lifecycle. A pool address identifies its ledger context.

See Controls and Risks for the administrative boundary.