Use storage instead of memory
When fetching data from storage, using the memory keyword to assign it to a variable reads all fields of the struct/array and incurs a Gcoldsload (2100 gas) for each field.
This can be avoided by declaring the variable with the storage keyword and caching the necessary fields in stack variables.
The memory keyword should only be used if the entire struct/array is being returned or passed to a function that requires memory, or if it is being read from another memory array/struct.
Cost more gas.
Manual Review
Consider using storage instead of memory
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.