Skip to main content
The core Deployer and lending-pool Deployer are separate admin-controlled contracts.

Core deployment

deploy_all deploys Registry, RateModel, RiskEngine, Oracle, and AccountManager; sets the SmartAccount WASM hash; and wires core addresses. It accepts the Reflector address explicitly. A one-time deployed guard prevents repeating the core deployment. The return order is Registry, RateModel, RiskEngine, Oracle, AccountManager.

Lending deployment

DeployerLPoolContract provides a legacy XLM/USDC pair deployment and deploy_single_pool for additional markets. It deploys a pool and receipt, initializes metadata, and initializes the pool. A single-pool deployment still needs appropriate Registry asset/alias/permission configuration; it does not onboard every dependency automatically. The legacy two-pool helper initializes vXLM with 7 decimals and vUSDC with 6; this is not a universal claim about the four configured receipt deployments or underlying SAC decimals. Read deployed metadata. The Rust workspace uses Soroban SDK 25.3.1, Blend SDK 2.25.0, and contract imports from target/wasm32v1-none/release. Build prerequisite WASMs before consumers. Review the repository’s deployment scripts before using them; addresses listed here are configuration snapshots, not a new deployment.

Function signatures

These signatures are copied from the reviewed Rust implementation. env is supplied by Soroban and is not a transaction argument. Result errors and panics must be handled by the caller; simulation does not guarantee later execution. Public methods include privileged and internal-contract callbacks, not just user entrypoints.

DeployerContract

__constructor

deploy_all

propose_admin

accept_admin

upgrade

DeployerLPoolContract

__constructor

deploy_lps_and_token_contracts

deploy_single_pool

upgrade

Source reference

  • Protocol_V1_Soroban_testnet/contracts/DeployerContract/src/deployer.rs
  • Protocol_V1_Soroban_testnet/contracts/DeployerLPoolContract/src/pool_deployer.rs