fn get_grant(env: soroban_sdk::Env, grant_id: u64) -> Result
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
passport_contract: soroban_sdk::Address,
native_token: soroban_sdk::Address,
) -> Result<(), ContractError>
fn set_paused(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
paused: bool,
) -> Result<(), ContractError>
fn cancel_grant(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
grant_id: u64,
) -> Result<(), ContractError>
fn create_grant(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
builder: soroban_sdk::Address,
reviewer: soroban_sdk::Address,
total_budget: i128,
metadata_hash: soroban_sdk::BytesN<32>,
) -> Result
fn add_milestone(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
grant_id: u64,
amount: i128,
) -> Result
fn deposit_funds(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
grant_id: u64,
amount: i128,
) -> Result<(), ContractError>
fn get_milestone(
env: soroban_sdk::Env,
grant_id: u64,
milestone_id: u32,
) -> Result
fn release_funds(
env: soroban_sdk::Env,
reviewer: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
) -> Result<(), ContractError>
fn reject_milestone(
env: soroban_sdk::Env,
reviewer: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
) -> Result<(), ContractError>
fn submit_milestone(
env: soroban_sdk::Env,
builder: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
evidence_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ContractError>
fn approve_milestone(
env: soroban_sdk::Env,
reviewer: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
) -> Result<(), ContractError>
fn get_escrow_balance(
env: soroban_sdk::Env,
grant_id: u64,
) -> Result
fn store_verification_hash(
env: soroban_sdk::Env,
operator: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
verification_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ContractError>
fn set_verification_operator(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
operator: soroban_sdk::Address,
) -> Result<(), ContractError>