fn get_grant(env: soroban_sdk::Env, grant_id: u64) -> Result
fn get_token(env: soroban_sdk::Env) -> soroban_sdk::Address
fn fund_grant(
env: soroban_sdk::Env,
sponsor: soroban_sdk::Address,
grant_id: u64,
) -> Result<(), GrantError>
fn cancel_grant(
env: soroban_sdk::Env,
maintainer: soroban_sdk::Address,
grant_id: u64,
) -> Result<(), GrantError>
fn create_grant(
env: soroban_sdk::Env,
maintainer: soroban_sdk::Address,
title: soroban_sdk::String,
repo_url: soroban_sdk::String,
deadline: u64,
milestones: soroban_sdk::Vec,
) -> Result
fn __constructor(env: soroban_sdk::Env, token: soroban_sdk::Address)
fn get_milestone(
env: soroban_sdk::Env,
grant_id: u64,
milestone_id: u32,
) -> Result
fn get_milestones(
env: soroban_sdk::Env,
grant_id: u64,
) -> Result, GrantError>
fn refund_expired(
env: soroban_sdk::Env,
sponsor: soroban_sdk::Address,
grant_id: u64,
) -> Result
fn submit_milestone(
env: soroban_sdk::Env,
maintainer: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
evidence_url: soroban_sdk::String,
) -> Result<(), GrantError>
fn approve_milestone(
env: soroban_sdk::Env,
sponsor: soroban_sdk::Address,
grant_id: u64,
milestone_id: u32,
) -> Result
fn get_next_grant_id(env: soroban_sdk::Env) -> u64