Initialize the contract with USDC token address
fn initialize(env: soroban_sdk::Env, usdc_token: soroban_sdk::Address)
Lock USDC tokens for a specified duration with destination EVM address
fn lock_tokens(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
amount: i128,
lock_duration_seconds: u64,
destination_address: soroban_sdk::String,
) -> u64
Release locked USDC tokens after unlock time
fn release_tokens(env: soroban_sdk::Env, lock_id: u64)
Get lock record details
fn get_lock_record(env: soroban_sdk::Env, lock_id: u64) -> Option
Get all lock IDs for a user
fn get_user_locks(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
Get current lock counter
fn get_lock_counter(env: soroban_sdk::Env) -> u64
Get USDC token address
fn get_usdc_token(env: soroban_sdk::Env) -> soroban_sdk::Address
Emergency function to check contract's USDC balance
fn get_contract_balance(env: soroban_sdk::Env) -> i128
Withdraw all USDC funds from contract to specified address
fn withdraw_funds(env: soroban_sdk::Env, admin: soroban_sdk::Address)