"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Contract locking ether found:\n\tContract LegacyFaultDisputeGame (src/legacy/FaultDisputeGame.sol#26-559) has payable functions:\n\t - ILegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#51)\n\t - ILegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/interfaces/IFaultDisputeGame.sol#56)\n\t - ILegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/interfaces/IFaultDisputeGame.sol#83)\n\t - LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t - LegacyFaultDisputeGame.attack(uint256,Claim) (src/legacy/FaultDisputeGame.sol#273-275)\n\t - LegacyFaultDisputeGame.defend(uint256,Claim) (src/legacy/FaultDisputeGame.sol#278-280)\n\t - LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\tBut does not have a function to withdraw the ether\n",
"description":"Reentrancy in LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186):\n\tExternal calls:\n\t- validStep = VM.step(_stateData,_proof,0) == Claim.unwrap(postState.claim) (src/legacy/FaultDisputeGame.sol#179)\n\tState variables written after the call(s):\n\t- parent.countered = true (src/legacy/FaultDisputeGame.sol#185)\n\tLegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70) can be used in cross function reentrancies:\n\t- LegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70)\n\t- LegacyFaultDisputeGame.claimDataLen() (src/legacy/FaultDisputeGame.sol#534-536)\n\t- LegacyFaultDisputeGame.findTraceAncestor(Position,uint256) (src/legacy/FaultDisputeGame.sol#548-558)\n\t- LegacyFaultDisputeGame.initialize() (src/legacy/FaultDisputeGame.sol#450-531)\n\t- LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t- LegacyFaultDisputeGame.resolve() (src/legacy/FaultDisputeGame.sol#362-371)\n\t- LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\t- LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186)\n",
"description":"Reentrancy in LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186):\n\tExternal calls:\n\t- validStep = VM.step(_stateData,_proof,0) == Claim.unwrap(postState.claim) (src/legacy/FaultDisputeGame.sol#179)\n\tState variables written after the call(s):\n\t- parent.countered = true (src/legacy/FaultDisputeGame.sol#185)\n\tLegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70) can be used in cross function reentrancies:\n\t- LegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70)\n\t- LegacyFaultDisputeGame.claimDataLen() (src/legacy/FaultDisputeGame.sol#534-536)\n\t- LegacyFaultDisputeGame.findTraceAncestor(Position,uint256) (src/legacy/FaultDisputeGame.sol#548-558)\n\t- LegacyFaultDisputeGame.initialize() (src/legacy/FaultDisputeGame.sol#450-531)\n\t- LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t- LegacyFaultDisputeGame.resolve() (src/legacy/FaultDisputeGame.sol#362-371)\n\t- LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\t- LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186)\n",
"description":"Reentrancy in LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186):\n\tExternal calls:\n\t- validStep = VM.step(_stateData,_proof,0) == Claim.unwrap(postState.claim) (src/legacy/FaultDisputeGame.sol#179)\n\tState variables written after the call(s):\n\t- parent.countered = true (src/legacy/FaultDisputeGame.sol#185)\n\tLegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70) can be used in cross function reentrancies:\n\t- LegacyFaultDisputeGame.claimData (src/legacy/FaultDisputeGame.sol#70)\n\t- LegacyFaultDisputeGame.claimDataLen() (src/legacy/FaultDisputeGame.sol#534-536)\n\t- LegacyFaultDisputeGame.findTraceAncestor(Position,uint256) (src/legacy/FaultDisputeGame.sol#548-558)\n\t- LegacyFaultDisputeGame.initialize() (src/legacy/FaultDisputeGame.sol#450-531)\n\t- LegacyFaultDisputeGame.move(uint256,Claim,bool) (src/legacy/FaultDisputeGame.sol#192-270)\n\t- LegacyFaultDisputeGame.resolve() (src/legacy/FaultDisputeGame.sol#362-371)\n\t- LegacyFaultDisputeGame.resolveClaim(uint256) (src/legacy/FaultDisputeGame.sol#374-424)\n\t- LegacyFaultDisputeGame.step(uint256,bool,bytes,bytes) (src/legacy/FaultDisputeGame.sol#123-186)\n",
"description":"LegacyFaultDisputeGame.move(uint256,Claim,bool).grandparentClock (src/legacy/FaultDisputeGame.sol#217) is a local variable never initialized\n",