Collects fee_amount of fee_token from user to fee_recipient,
then calls target_contract.target_fn(target_args) and returns its
result. A failing target also reverts the fee.
user authorizes (fee_token, max_fee_amount, expiration_ledger, fee_recipient, target_contract, target_fn, target_args).
e - Access to the Soroban environment.fee_token - The token the fee is paid in.fee_amount - The fee, above zero and at most max_fee_amount.max_fee_amount - The fee cap the user signs.expiration_ledger - The fee allowance's live-until ledger, at or
after execution.target_contract, target_fn, target_args - The call to make.user - The fee payer.fee_recipient - The fee payee.Errors and events: see README.md.
fn forward(
env: soroban_sdk::Env,
fee_token: soroban_sdk::Address,
fee_amount: i128,
max_fee_amount: i128,
expiration_ledger: u32,
target_contract: soroban_sdk::Address,
target_fn: soroban_sdk::Symbol,
target_args: soroban_sdk::Vec,
user: soroban_sdk::Address,
fee_recipient: soroban_sdk::Address,
) -> soroban_sdk::Val
Acts as [Self::forward], but the user's authorization leaves out
target_args, so the relayer can refresh them after signing.
Self::forward].Self::forward].user is required over (fee_token, max_fee_amount, expiration_ledger, fee_recipient, target_contract, target_fn).target_args and still collect the fee.fn forward_dynamic(
env: soroban_sdk::Env,
fee_token: soroban_sdk::Address,
fee_amount: i128,
max_fee_amount: i128,
expiration_ledger: u32,
target_contract: soroban_sdk::Address,
target_fn: soroban_sdk::Symbol,
target_args: soroban_sdk::Vec,
user: soroban_sdk::Address,
fee_recipient: soroban_sdk::Address,
) -> soroban_sdk::Val