The Factory is deployed with a reference to Globals and the vault template hash.
Step 5 — Whitelist Assets
Supported lending tokens (e.g. USDC) are whitelisted on Globals:
This must be done before transferring Globals admin to the Timelock, since it requires direct admin access.
Step 6 — Approve Initial Managers
Initial Pool Managers are registered and approved:
Step 7 — Transfer Globals Admin to Timelock
The final step transfers Globals admin to the Timelock:
After this, all admin-gated operations on Globals must go through the Timelock's governance process.
Step 7 is irreversible. Once admin is transferred to the Timelock, direct admin access is no longer possible. Ensure all initial setup (asset whitelisting, manager approval) is complete before this step.
Running the Deployment
Configuration
All deployment parameters are configured via environment variables. See .env.example:
Variable
Description
STELLAR_NETWORK
Network to deploy to (testnet/mainnet)
STELLAR_RPC_URL
Soroban RPC endpoint
DEPLOYER_SECRET
Secret key for the deploying account
GOVERNOR_ADDRESS
Initial governor address
TREASURY_ADDRESS
Protocol treasury address
SECURITY_ADMIN
Security admin address
OPERATIONS_ADMIN
Operations admin address
TIMELOCK_MIN_DELAY
Minimum delay for timelocked operations
TIMELOCK_PROPOSERS
Comma-separated proposer addresses
TIMELOCK_EXECUTORS
Comma-separated executor addresses
INITIAL_ASSETS
Comma-separated asset addresses to whitelist
INITIAL_MANAGERS
Comma-separated manager addresses
Output
Deployment results are saved to .soroban/contract-ids.json: