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
The current implementation is not able to deal with array instrumentation events, e.g. if list is a uint[] then both events list@(true) and list[id]@(true) are ignored by the instrumentation engine.
Implementing this is not straightforward. Keeping the whole previous state of an array is not viable from a gas-point of view. Thus although we may allow events of the kind list@(true) allowing reference to the previous value of list (LARVA_previous_list) is not viable.
A more viable approach is to simply capture modification of points in the array, list[id]@(true), and keep the previous value at that point.
Here we also need to consider the push() and pop() syntactic sugar of arrays when instrumenting a smart contract.
The text was updated successfully, but these errors were encountered:
The current implementation is not able to deal with array instrumentation events, e.g. if
list
is auint[]
then both eventslist@(true)
andlist[id]@(true)
are ignored by the instrumentation engine.Implementing this is not straightforward. Keeping the whole previous state of an array is not viable from a gas-point of view. Thus although we may allow events of the kind
list@(true)
allowing reference to the previous value oflist
(LARVA_previous_list
) is not viable.A more viable approach is to simply capture modification of points in the array,
list[id]@(true)
, and keep the previous value at that point.Here we also need to consider the
push()
andpop()
syntactic sugar of arrays when instrumenting a smart contract.The text was updated successfully, but these errors were encountered: