deploy_multichain_lagoon_vault

Documentation for eth_defi.erc_4626.vault_protocol.lagoon.deployment.deploy_multichain_lagoon_vault function.

deploy_multichain_lagoon_vault(*, chain_web3, deployer, chain_configs, max_workers=None)

Deploy Lagoon vaults across multiple chains with a shared deterministic Safe.

Uses CREATE2 via the canonical Safe v1.4.1 ProxyFactory to produce the same Safe address on every chain. Every chain gets a distinct Safe contract and guard module at matching addresses. Non-satellite chains additionally get a Lagoon vault paired with that chain’s Safe.

Deploys all chains in parallel using threads to minimise wall-clock time.

Each chain receives its own LagoonConfig with chain-specific whitelisting (ERC-4626 vaults, Hypercore vaults, CCTP, CowSwap, etc.) and an optional chain-specific Lagoon settlement safety policy. All configs must share the same safe_salt_nonce to ensure deterministic Safe addresses.

LagoonConfig.max_settlement_amount and its cooldown are forwarded to the public single-chain deployment API and is converted using that chain’s underlying token decimals. Configure it only for chains which deploy or reuse a Lagoon vault. Satellite chains contain only a Safe and guard module and therefore reject settlement-safety configuration instead of silently ignoring it.

Parameters
Returns

LagoonMultichainDeployment with per-chain results.

Return type

eth_defi.erc_4626.vault_protocol.lagoon.deployment.LagoonMultichainDeployment