STEP 2 — the settler (backend JobManager) draws amount from the auth
and triggers a USDC transfer from payer → agent owner.
fn charge(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
auth_id: soroban_sdk::BytesN<16>,
amount: i128,
job_id: soroban_sdk::BytesN<16>,
) -> Result, soroban_sdk::Error>
Payer cancels an unused authorization.
fn revoke(
env: soroban_sdk::Env,
payer: soroban_sdk::Address,
auth_id: soroban_sdk::BytesN<16>,
) -> Result<(), soroban_sdk::Error>
fn receipt(
env: soroban_sdk::Env,
receipt_id: soroban_sdk::BytesN<16>,
) -> Result
fn settler(env: soroban_sdk::Env) -> soroban_sdk::Address
STEP 1 — payer pre-authorizes a max spend for a given agent. On HTTP: this matches the initial 402 challenge response.
fn authorize(
env: soroban_sdk::Env,
payer: soroban_sdk::Address,
agent_id: soroban_sdk::Symbol,
max_amount: i128,
expires_at: u64,
) -> Result, soroban_sdk::Error>
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
usdc: soroban_sdk::Address,
registry: soroban_sdk::Address,
settler: soroban_sdk::Address,
)
fn authorization(
env: soroban_sdk::Env,
auth_id: soroban_sdk::BytesN<16>,
) -> Result