You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we specify storage offsets for account procedures. That is, if storage offset for a procedure is 1, whenever the procedure tries to access storage item 0, the actual item accessed will be 1, when i tries to access storage item 1, the actual accessed item will be 2 etc. This puts a "lower bound" on the item a procedure can access - but we do not restrict the upper bound. That is, a procedure can access any storage item (up to a max of 255) starting from its offset.
It would be good to make sure that a given procedure can access only a specific set of storage items. This would prevent potential overlaps between different procedures. To do this, we need to do the following:
Where storage size would be the number of storage slots a procedure can access. So, the "physical" storage slots accessible by a procedure would be bounded by [storage_offset, storage_offset + storage_size).
We would also need to update the transaction kernel to handle this properly.
The text was updated successfully, but these errors were encountered:
Currently, we specify storage offsets for account procedures. That is, if storage offset for a procedure is 1, whenever the procedure tries to access storage item 0, the actual item accessed will be 1, when i tries to access storage item 1, the actual accessed item will be 2 etc. This puts a "lower bound" on the item a procedure can access - but we do not restrict the upper bound. That is, a procedure can access any storage item (up to a max of 255) starting from its offset.
It would be good to make sure that a given procedure can access only a specific set of storage items. This would prevent potential overlaps between different procedures. To do this, we need to do the following:
Update the AccountProcedureInfo struct to look something like this:
Where storage size would be the number of storage slots a procedure can access. So, the "physical" storage slots accessible by a procedure would be bounded by
[storage_offset, storage_offset + storage_size)
.We would also need to update the transaction kernel to handle this properly.
The text was updated successfully, but these errors were encountered: