Current behavior:List index out of bounds error when remove last index element using remove_deposit, remove_withdrawal, remove_order, remove_position in Datastore contract.
Expected behavior: Last index element removed from Datastore contract storage.
data_store.set_deposit(key_1, deposit_1);
data_store.set_deposit(key_2, deposit_2);
data_store.set_deposit(key_3, deposit_3);
data_store.remove_deposit(key_3, account);
let deposit_3_by_key = data_store.get_deposit(key_3);
assert(deposit_3_by_key.account.is_zero(), 'deposit3 should be removed');
Same for set_withdrawal, set_order, set_position and remove_withdrawal, remove_order, remove_postion.
/// Remove a deposit value for the given key.
/// # Arguments
/// * `key` - The key to remove the value for.
/// * `account` - The account to remove key for.
fn remove_deposit(ref self: TContractState, key: felt252, account: ContractAddress);
Bug Report
Satoru version: 567512a
Current behavior:
List index out of bounds
error when remove last index element usingremove_deposit
,remove_withdrawal
,remove_order
,remove_position
in Datastore contract.Expected behavior: Last index element removed from Datastore contract storage.
Same for set_withdrawal, set_order, set_position and remove_withdrawal, remove_order, remove_postion.
Steps to reproduce:
Related code:
Other information: Happy to push a fix PR