Create a new escrow with milestones.
fn create(
env: soroban_sdk::Env,
client: soroban_sdk::Address,
provider: soroban_sdk::Address,
token: soroban_sdk::Address,
total: i128,
milestone_amounts: soroban_sdk::Vec,
) -> Result
Get escrow details (stub: single escrow per contract instance for simplicity).
fn get_escrow(env: soroban_sdk::Env) -> Escrow
Approve a milestone (client releases funds for that milestone).
fn approve_milestone(
env: soroban_sdk::Env,
escrow_id: soroban_sdk::Address,
milestone_index: u32,
) -> Result<(), soroban_sdk::Error>