Hey @Paul_Kwok
In both cases value
in not defined.
function __callback(bytes32 _queryId,string memory _result,bytes memory _proof) public {
bool flip;
uint256 randomNumber = uint256(keccak256(abi.encodePacked(_result))) % 2;
if (randomNumber == 0) {
flip = true;
} else {
flip = false;
}
emit generateRandomNumber(bets[_queryId].walletAddress, flip);
if (bets[_queryId].predictCoinSide == flip) {
transferToPlayer(msg.sender,value);
//balance -= value;
//playerBalance[msg.sender] += value;
playerRecord[msg.sender].balance = playerBalance[msg.sender];
playerRecord[msg.sender].countWin += 1;
} else {
transferToContract(msg.sender,value);
//balance += value;
//playerBalance[player] -= value;
playerRecord[msg.sender].balance = playerBalance[msg.sender];
playerRecord[msg.sender].countLoss += 1;
}
//delete bet from mapping
delete(bets[_queryId]);
}
You need to define value to be able to use it.
Regards,
Dani