0xMiden / 0xMiden/protocol

Insert/Pop key to the `MAP_VALUE_STORAGE_SLOT`

Open
#2,212 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.