Add cache logic for `Make_cached_carbonated_map`
Wait for !17 (merged). Please review from f0a3e5d3
This MR add cache logic for Make_cached_carbonated_map
. In order to review it, please check every storage accessor/updater has following properties
∆ : an in-memory cache
δ : an in-storage cache
-
mem
-
Miss ∆ Miss δ -
should we update both ∆ + δ here? -
consume mem gas
-
-
Miss ∆ Hit δ -
no gas consumption
-
-
-
get
-
Miss ∆ Miss δ -
Update ∆ + δ -
consume read gas
-
-
Miss ∆ Hit δ -
Update ∆ -
no gas consumption
-
-
-
find
-
Miss ∆ Miss δ -
Update ∆ + δ -
consume read gas
-
-
Miss ∆ Hit δ -
Update ∆ -
no gas consumption
-
-
-
update
-
Update ∆ + δ -
consume write gas
-
-
init
-
Update ∆ + δ -
consume write gas
-
-
add
-
Update ∆ + δ -
consume write gas
-
-
remove
-
Remove ∆ + δ -
consume remove gas
-
-
remove_existing
-
Remove ∆ + δ -
consume remove gas
-
-
add_or_remove
(same asadd
orremove
)
Edited by Weihang Lo