Множественное наследование в твердости, идентификатор не найден или не уникален, что происходит? - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь получить случайные числа , а также использую сигнал тревоги цепочки в том же контракте. Для этого я хочу использовать функцию множественного наследования solidity. Используя следующую склейку моего кода:

pragma solidity ^0.6.2;

import "https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/VRFConsumerBase.sol";
//import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";

contract Lottery is VRFConsumerBase, ChainlinkClient {

Тестируя это в remix , я получаю следующую ошибку:

browser/lottery4.sol:6:38: DeclarationError: Identifier not found or not unique.
contract Lottery is VRFConsumerBase, ChainlinkClient {
^-------------^

Я попытался смешать импорт , и порядок наследования, но безуспешно. Я могу только предположить, что это как-то связано с импортом.

Когда я не комментирую второй импорт, ie:

import "https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/VRFConsumerBase.sol";
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";

, я получаю следующую ошибку, которую я только Предположим, это связано с наследованием.

browser/lottery4.sol:4:1: DeclarationError: Identifier already declared.
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
^----------------------------------------------------------------------------------------^
https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/evm-contracts/src/v0.6/interfaces/LinkTokenInterface.sol:3:1: The previous declaration is here:
interface LinkTokenInterface {
^ (Relevant source part starts here and spans across multiple lines).

Что мне не хватает?

...