Skip to content

Solution

Push the num variable to Slot #1 in the implementation contract

Dumb solution (but also works)

contract Implementationv2 {
uint public num1;
uint public num;
function setNum(uint _num) public {
num = _num * 2;
}
}

Better solution

contract Implementationv2 {
uint public num1;
address public _owner;
function setNum(uint _num) public {
num = _num * 2;
}
}