Current token allowance interface includes two functions:
fn increase_allowance(env: Env, from: Address, spender: Address, amount: i128);
fn decrease_allowance(env: Env, from: Address, spender: Address, amount: i128);
I suggest we:
- Unify these under one function to closer resemble the ERC20
approve()function - Add an expiration ledger for the allowance both as a safety measure for the user and also to allow the allowance to be stored as a temporary entry
fn approve(env: Env, from: Address, spender: Address, amount: i128, expiration_ledger: u64);