Check if the spending limit policy can be enforced.
Verifies that the transaction amount does not exceed the remaining spending limit for the current time period.
true if the spending limit allows the transactionfalse otherwisefn can_enforce(
env: soroban_sdk::Env,
context: Context,
authenticated_signers: soroban_sdk::Vec,
context_rule: ContextRule,
smart_account: soroban_sdk::Address,
) -> bool
Enforce the spending limit policy.
Records the transaction amount and updates the spending history.
This is called after can_enforce returns true.
fn enforce(
env: soroban_sdk::Env,
context: Context,
authenticated_signers: soroban_sdk::Vec,
context_rule: ContextRule,
smart_account: soroban_sdk::Address,
)
Install the spending limit policy for a smart account.
Stores the spending limit configuration for the given context rule.
fn install(
env: soroban_sdk::Env,
install_params: SpendingLimitAccountParams,
context_rule: ContextRule,
smart_account: soroban_sdk::Address,
)
Uninstall the spending limit policy for a smart account.
Removes the spending limit configuration and history for the given context rule.
fn uninstall(
env: soroban_sdk::Env,
context_rule: ContextRule,
smart_account: soroban_sdk::Address,
)
Get the current spending limit data for a smart account
fn get_spending_limit_data(
env: soroban_sdk::Env,
context_rule_id: u32,
smart_account: soroban_sdk::Address,
) -> SpendingLimitData
Set a new spending limit for a smart account
fn set_spending_limit(
env: soroban_sdk::Env,
spending_limit: i128,
context_rule: ContextRule,
smart_account: soroban_sdk::Address,
)