Ensure that payable functions in contracts handle all ETH passed in msg.value and provide a mechanism for withdrawal to avoid ETH being locked in the contract.
✓
✓
S9.1.A2
Verify that deleting a variable of a nested structure correctly resets all nested level fields to default values to avoid unexpected behavior.
✓
✓
S9.1.A3
Verify that storage structs and arrays with types shorter than 32 bytes are handled correctly, avoiding data corruption when encoded directly from storage using the experimental ABIEncoderV2.
✓
✓
S9.1.A4
Verify that storage arrays containing structs or other statically-sized arrays are properly read and encoded in external function calls to prevent data corruption.
✓
✓
S9.1.A5
Ensure that copying bytes arrays from memory or calldata to storage handles empty arrays correctly, avoiding data corruption when the target array's length is increased subsequently without storing new data.