fn config(env: soroban_sdk::Env) -> Result
PoC escape hatch: recover tokens stranded by a failed mainnet run. Admin only.
fn rescue(
env: soroban_sdk::Env,
token_id: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Claim message, swap the minted USDC to XLM, send it to the beneficiary encoded in the
message's hook payload. Returns the XLM delivered (stroops).
Permissionless: the caller picks the route and the slippage floor but cannot influence
where the funds go. Same shape as the EVM-side sweep escape hatch.
If the beneficiary account does not exist yet, the native SAC transfer creates it — which requires delivering at least 1 XLM (2 x 0.5 base reserve).
fn deliver(
env: soroban_sdk::Env,
message: soroban_sdk::Bytes,
attestation: soroban_sdk::Bytes,
distribution: soroban_sdk::Vec,
min_xlm_out: i128,
deadline: u64,
) -> Result
Runs once, at deploy time — arguments are passed to stellar contract deploy after --.
There is no separate init call and no re-initialization window.
fn __constructor(
env: soroban_sdk::Env,
cctp_forwarder: soroban_sdk::Address,
aggregator: soroban_sdk::Address,
usdc: soroban_sdk::Address,
native: soroban_sdk::Address,
admin: soroban_sdk::Address,
)
Read the beneficiary a message would pay out to, without claiming it. Use this to sanity-check hook framing before spending anything.
fn preview_beneficiary(
env: soroban_sdk::Env,
message: soroban_sdk::Bytes,
) -> Result