Insert/Pop key to the `MAP_VALUE_STORAGE_SLOT`
- Dominant language
- Rust
- Stars
- 132
- Forks
- 167
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 110
Description
### Feature description
Related to the issue comment that I have described here: https://github.com/OpenZeppelin/miden-confidential-contracts/discussions/37#discussioncomment-15341691
Is it possible to add a kernel level procedure which insert/pop a key-value pair to a `MAP_VALUE_STORAGE_SLOT`
### Why is this feature needed?
Assume that we have the following map value slots, which are using the same key values such as `faucet_id`
```
# map entries: [faucet_id, 0, 0] => [amount_0, amount_1, amount_2, 0]
const.PER_FAUCET_AMOUNT_LIMITS_MAP_SLOT = 0
# map entries: [faucet_id, 0, 0] => [amount_spent_in_epoch, epoch_last_spent, limit_block, running_sum]
const.PER_FAUCET_SPENDING_TRACKER_MAP_SLOT = 1
```
Updating this requires to call these two procedures together by getting the keys from the advice provider for both of them. It also makes the things more complicated for the propose/execute logic for timelocked accounts
Contributor guide
Assessment
This issue has not been assessed yet.