Contract 1940845fdaacc6293ce1250b54b6b4e1f8c039af9c5f71e92e0960961c6b4264

← Back to Index 📥 Download WASM

Meta

cliver 27.1.0#8e402ea28202950b272fbabc34caad4d2f64fe87
rssdkver 27.0.6#60926a20d1f9f0a669d5fe551636f42a1302f0c0
rsver 1.98.0

Instances

  • CBLVEZQ2RPBZQ6IPXW5TIL4DDM2IZ5QYDPTKTQ4CSDAINGT6MICKNQED

Interface

fn admin(env: soroban_sdk::Env) -> Result

Returns contract version.

fn version(env: soroban_sdk::Env) -> u32
fn treasury(env: soroban_sdk::Env) -> Result
fn get_claim(env: soroban_sdk::Env, claim_id: u64) -> Result

Admin records that treasury paid this claim (stores payout reference hash).

fn mark_paid(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    claim_id: u64,
    payout_ref: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn government(
    env: soroban_sdk::Env,
) -> Result
fn claim_count(env: soroban_sdk::Env) -> u64

Admin cancels a pending or approved claim.

fn cancel_claim(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    claim_id: u64,
) -> Result<(), soroban_sdk::Error>

Tourist submits a new claim. Claimant must sign the transaction.

fn submit_claim(
    env: soroban_sdk::Env,
    claimant: soroban_sdk::Address,
    amount: i128,
    receipt_hash: soroban_sdk::BytesN<32>,
    country_code: soroban_sdk::Symbol,
) -> Result

Runs once at deploy. Sets admin and treasury reference addresses.

fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    treasury: soroban_sdk::Address,
    government: soroban_sdk::Address,
)

Admin approves a pending claim for payout.

fn approve_claim(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    claim_id: u64,
) -> Result<(), soroban_sdk::Error>

Admin blacklists a claim and blocks the claimant wallet from future submissions.

fn blacklist_claim(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    claim_id: u64,
) -> Result<(), soroban_sdk::Error>

Government rejects the claim after verification.

fn government_reject(
    env: soroban_sdk::Env,
    gov: soroban_sdk::Address,
    claim_id: u64,
    government_decision_ref: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>

Government approves the claim after verification and authorizes reimbursement.

fn government_approve(
    env: soroban_sdk::Env,
    gov: soroban_sdk::Address,
    claim_id: u64,
    government_decision_ref: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>

Gemetra/admin submits the verified claim package to the government/tax authority.

fn submit_to_government(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    claim_id: u64,
    government_submission_ref: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn is_wallet_blacklisted(env: soroban_sdk::Env, wallet: soroban_sdk::Address) -> bool

Government settles reimbursement back to Gemetra treasury. (We store the reimbursement reference hash; actual XLM settlement remains external today.)

fn mark_treasury_reimbursed(
    env: soroban_sdk::Env,
    gov: soroban_sdk::Address,
    claim_id: u64,
    treasury_reimbursement_ref: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>

Imports

WebAssembly Text (WAT) ▶