1

when I test rollDice which executes requestRandomness

function rollDice(uint256 userProvidedSeed, address roller) public onlyOwner returns (bytes32) { 
    require(wagered.get(roller) > 0, "Need money to make money yo!");
    require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK to pay fee");
    bytes32 requestId = requestRandomness(keyHash, fee, userProvidedSeed);
    rollers.set(requestId, roller);
    assert(rollers.get(requestId) == roller);
    emit DiceRolled(requestId, roller);
    return requestId;
}

Test Case

/// #sender: account-0
function play() public {
    game.rollDice(45, acc2);
}

I get this????

"Transaction has been reverted by the EVM: { "transactionHash": "0xbcfea3fd3d45efca90b9b7a73de47ccd105c872a297deb5a849b4f622384f20e", "transactionIndex": 0, "blockHash": "0x935d9441827fc1dddb34db8591a7d4ceb456826913458c8808850696acd2230c", "blockNumber": 120, "gasUsed": 5000000, "cumulativeGasUsed": 5000000, "status": false, "to": "0x703879Ca741c310b92A39D72B34C6D73D13420E0", "events": {} }"

1 Answers1

0

In order to call the Chainlink VRF, you need to fund it with LINK. Have the smart contract also get sent some LINK.

Patrick Collins
  • 11,186
  • 5
  • 44
  • 97