Skip to content

Instantly share code, notes, and snippets.

@Gustav-Simonsson
Created September 14, 2015 12:18
Show Gist options
  • Select an option

  • Save Gustav-Simonsson/7452e48be0f00bb4fa44 to your computer and use it in GitHub Desktop.

Select an option

Save Gustav-Simonsson/7452e48be0f00bb4fa44 to your computer and use it in GitHub Desktop.
"SuicideCoinbase" :
contract killer { function x() {suicide(msg.sender); }}"
Filler tests needs first one tx where non-contract account calls Killer.x and then another tx (can be anything)
"OOGStateCopyContainingDeletedContract":
contract Victim {
function Die () {
suicide(msg.sender);
}
function GetNum() returns (uint) {
return 1337;
}
}
contract RestoreVictim {
uint256[10] s;
function Store() {
for (var i = 0; i < 10; i++) {
s[i] = 42;
}
}
function Run(address a) {
this.call.gas(60000)(bytes4 (sha3("Store()")));
s[9] = Victim(a).GetNum();
}
}
Filler test first needs pre state with 3 contracts; one with code for Victim, one with code for RestoreVictim.
Then it runs one tx that calls Victim.Die() followed by a tx that calls RestoreVictim.Run().
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment