These files are lists of transactions, where sereum flagged a reentrancy attack. The csv files contain the following columns:
blocknum
- the Etherum blockchain block numbertxhash
- the transaction hashgas
- gas supplied to the transactioncaller
- address of the caller to the vulnerable contractcontract
- the address of the contract which Sereum flagged as vulnerable/attackedcodehash
- this is the codehash of the flagged contract (i.e., the one which is considered vulnerable)calldata
- this is the calldata supplied to the vulnerable contract (this is not the same as the calldata supplied to the transaction)functionsig
- the first 4 bytes of the calldata, useful to lookup the solidity function signaturereturnvalue
- unusedcalldepth
- the call stack depth, at which the re-entrancy attack was detectedexternalcalldepth
- this is similar to the calldepth, but does ignore calls that do not change storage context (e.g.,DELEGATECALL
) it is also off-by-one to the calldepthpc
- the EVM program counter at which the re-entrancy attack was detectedstorageaddress
- the write-locked storage address to which the contract wrotewritelockdepth
- this is the externalcalldepth to which the storageaddress was write-lockedreason
- the reson for issuing the write-lock, can beJUMPI
- data-flow from storage to conditional jump (as described in our original NDSS paper)CALL_VALUE
- data-flow from storage to the amount of ether passed to a call instruction (for detecting unconditional re-entrancy)CALL_DATA
- data-flow from storage to the data passed to a call instruction (for detecting unconditional re-entrancy)CREATE_DATA
- data-flow from storage to the data passed to a create instruction (for detecting unconditional re-entrancy)
ts
- mostly unused; timestamp when the transaction was replayed by Sereum