fn get_crop(env: soroban_sdk::Env, nft_id: u64) -> CropLot
fn owner_of(env: soroban_sdk::Env, nft_id: u64) -> soroban_sdk::Address
fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_price(env: soroban_sdk::Env, nft_id: u64) -> i128
fn get_proof(env: soroban_sdk::Env, nft_id: u64) -> ProofRecord
fn is_oracle(env: soroban_sdk::Env, oracle: soroban_sdk::Address) -> bool
fn add_oracle(env: soroban_sdk::Env, oracle: soroban_sdk::Address)
fn get_farmer(env: soroban_sdk::Env, nft_id: u64) -> soroban_sdk::Address
fn buy_crop_nft(
env: soroban_sdk::Env,
buyer: soroban_sdk::Address,
nft_id: u64,
) -> EscrowPosition
fn get_decision(env: soroban_sdk::Env, nft_id: u64) -> VerificationDecision
fn get_treasury(env: soroban_sdk::Env) -> soroban_sdk::Address
fn submit_proof(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
nft_id: u64,
proof_hash: soroban_sdk::String,
)
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
usdc_token: soroban_sdk::Address,
treasury: soroban_sdk::Address,
)
fn add_validator(env: soroban_sdk::Env, validator: soroban_sdk::Address)
fn mint_crop_nft(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
crop_type: soroban_sdk::String,
quantity: i128,
price: i128,
harvest_date: u64,
) -> u64
fn split_payment(env: soroban_sdk::Env, total_price: i128) -> PaymentSplit
fn get_usdc_token(env: soroban_sdk::Env) -> soroban_sdk::Address
fn verify_delivery(
env: soroban_sdk::Env,
validator: soroban_sdk::Address,
nft_id: u64,
status: soroban_sdk::String,
notes_hash: soroban_sdk::String,
refund_amount: i128,
treasury_compensation: i128,
) -> VerificationDecision
fn get_farmer_profile(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
) -> FarmerProfile
fn is_listing_buyable(env: soroban_sdk::Env, nft_id: u64) -> bool
fn get_escrow_position(env: soroban_sdk::Env, nft_id: u64) -> EscrowPosition
fn set_listing_buyable(env: soroban_sdk::Env, nft_id: u64, buyable: bool)
fn get_listing_metadata(env: soroban_sdk::Env, nft_id: u64) -> ListingMetadata
fn set_listing_metadata(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
nft_id: u64,
parcel_name: soroban_sdk::String,
parcel_bbox_hash: soroban_sdk::String,
parcel_area_hectares_bps: u64,
region: soroban_sdk::String,
min_ndvi_bps: u64,
observation_window_days: u32,
)
fn upsert_farmer_profile(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
full_name: soroban_sdk::String,
farm_name: soroban_sdk::String,
region: soroban_sdk::String,
government_id_object: soroban_sdk::String,
total_yield_kg: i128,
)
fn record_sat_attest_oracle(
env: soroban_sdk::Env,
oracle: soroban_sdk::Address,
nft_id: u64,
observed_at: u64,
ndvi_bps: u64,
min_ndvi_bps: u64,
buyable: bool,
bbox_hash: soroban_sdk::String,
report_hash: soroban_sdk::String,
source: soroban_sdk::String,
)
fn get_satellite_attestation(
env: soroban_sdk::Env,
nft_id: u64,
) -> SatelliteAttestation
fn get_treasury_pool_balance(env: soroban_sdk::Env) -> i128
fn mint_crop_nft_with_listing(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
crop_type: soroban_sdk::String,
quantity: i128,
price: i128,
harvest_date: u64,
parcel_name: soroban_sdk::String,
parcel_bbox_hash: soroban_sdk::String,
parcel_area_hectares_bps: u64,
region: soroban_sdk::String,
min_ndvi_bps: u64,
observation_window_days: u32,
) -> u64
fn set_farmer_profile_verified(
env: soroban_sdk::Env,
farmer: soroban_sdk::Address,
verified: bool,
)
fn record_satellite_attestation(
env: soroban_sdk::Env,
nft_id: u64,
observed_at: u64,
ndvi_bps: u64,
min_ndvi_bps: u64,
buyable: bool,
bbox_hash: soroban_sdk::String,
report_hash: soroban_sdk::String,
source: soroban_sdk::String,
)