Preview statutory split for a gross payroll amount (stroops).
fn quote(
env: soroban_sdk::Env,
gross_amount: i128,
) -> Result
One-time setup: USDC asset + whitelisted agency addresses + demo split rates (bps).
sss_bps + philhealth_bps + pagibig_bps must be under 10_000; remainder is net pay to employees.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
usdc: soroban_sdk::Address,
sss: soroban_sdk::Address,
philhealth: soroban_sdk::Address,
pagibig: soroban_sdk::Address,
employees: soroban_sdk::Address,
sss_bps: u32,
philhealth_bps: u32,
pagibig_bps: u32,
) -> Result<(), soroban_sdk::Error>
fn get_payroll(
env: soroban_sdk::Env,
payroll_id: soroban_sdk::String,
) -> Result
MSME payer authorizes; USDC is split from payer to agencies + employee pool. One route per payroll_id.
fn route_payroll(
env: soroban_sdk::Env,
payer: soroban_sdk::Address,
payroll_id: soroban_sdk::String,
gross_amount: i128,
) -> Result