Hi I'm trying to update this code from solidity 0.4.X to 0.5.X and am currently stuck on this bug
struct JediBet {
uint guess;
address payable addr;
BetStatusEnum status;
uint betAmount;
}
//the 'game' structure
struct Game {
uint pot;
uint outcome;
GameStatusEnum status;
JediBet originator;
JediBet taker;
}
//bet status event
event BetStatus (
GameStatusEnum gameStatus,
BetStatusEnum originatorStatus,
address originatorAddress,
uint originatorGuess,
address takerAddress,
BetStatusEnum takerStatus,
uint takerGuess,
uint betAmount,
uint actualNumber,
uint pot
);
//the game
Game game;
//fallback function
function() external payable {}
function resetGame() private {
//reset game
game.status = GameStatusEnum.STATUS_NOT_STARTED;
game.outcome = 0;
game.pot = 0;
game.originator.guess = 0;
game.originator.betAmount = 0;
game.originator.addr = 0;
game.originator.status = BetStatusEnum.STATUS_UNKNOWN;
game.taker.guess = 0;
game.taker.addr = 0;
game.taker.status = BetStatusEnum.STATUS_UNKNOWN;
}
Error Message:
Compiling your contracts...
===========================
> Compiling .\contracts\Bet.sol
> Compiling .\contracts\Migrations.sol
/C/Users/Michael/ethereum/p60/contracts/Bet.sol:53:32: TypeError: Type int_const 0 is not implicitly convertible to expected type address payable.
game.originator.addr = 0;
^
,/C/Users/Michael/ethereum/p60/contracts/Bet.sol:57:27: TypeError: Type int_const 0 is not implicitly convertible to expected type address payable.
game.taker.addr = 0;
^
,/C/Users/Michael/ethereum/p60/contracts/Bet.sol:106:13: TypeError: "send" and "transfer" are only available for objects of type "address payable", not "address".
origAddress.transfer(origPot/2);