fn init(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
operator: soroban_sdk::Address,
issuance_relayer: soroban_sdk::Address,
renewal_relayer: soroban_sdk::Address,
payment_registry: soroban_sdk::Address,
) -> Result<(), VouchifyError>
fn get_membership(
env: soroban_sdk::Env,
membership_id: soroban_sdk::String,
) -> Result
fn payment_registry(
env: soroban_sdk::Env,
) -> Result
fn renew_membership(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
membership_id: soroban_sdk::String,
renewal_payment_id: soroban_sdk::String,
total_credits: u32,
expires_at: u64,
external_ref: soroban_sdk::String,
) -> Result
fn set_auto_renewal(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
membership_id: soroban_sdk::String,
enabled: bool,
) -> Result
fn expire_membership(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
membership_id: soroban_sdk::String,
) -> Result
fn redeem_membership_credit(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
membership_id: soroban_sdk::String,
credits: u32,
) -> Result
fn create_membership_from_payment(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
membership_id: soroban_sdk::String,
payment_id: soroban_sdk::String,
current_owner: soroban_sdk::Address,
merchant_id: u64,
total_credits: u32,
expires_at: u64,
external_ref: soroban_sdk::String,
) -> Result