Как пополнить смарт-контракт Chainlink другим контрактом?
Я пытаюсь финансировать смарт-контракт токенами LINK. Я получаю сообщение об ошибке «Ошибка виртуальной машины: откат. Откат. Транзакция была возвращена в исходное состояние. Примечание. Вызываемая функция должна быть оплачена, если вы отправляете значение, а отправленное вами значение должно быть меньше вашего текущего баланса. Отладьте транзакцию, чтобы получить дополнительную информацию ". Мой код прост:
// SPDX-License-Identifier: MIT
pragma solidity >=0.5 <0.9.0;
//Remix Imports
import "https://github.com/smartcontractkit/chainlink/blob/develop/evm-contracts/src/v0.6/ChainlinkClient.sol";
import "https://github.com/smartcontractkit/chainlink/blob/develop/evm-contracts/src/v0.6/vendor/Ownable.sol";
import "https://github.com/smartcontractkit/chainlink/blob/develop/evm-contracts/src/v0.6/vendor/SafeMathChainlink.sol";
import "https://github.com/smartcontractkit/chainlink/blob/develop/evm-contracts/src/v0.6/interfaces/LinkTokenInterface.sol";
import "https://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
contract SimpleStorage {
SimpleStorage2[] simpleStorage2s;
function set() public payable returns(address) {
SimpleStorage2 a = new SimpleStorage2();
simpleStorage2s.push(a);
LinkTokenInterface link = LinkTokenInterface(a.getChainlinkToken());
link.transfer(address(a), 100);
return address(a);
}
}
contract SimpleStorage2 is ChainlinkClient, Ownable {
function getChainlinkToken() public view returns (address) {
return chainlinkTokenAddress();
}
}
Компилятор Solidity 0.6.12. Что я делаю не так? Как мне заставить это работать?
1 ответ
Получите адрес развернутого вами контракта и отправьте его по ССЫЛКЕ.
Вы можете прочитать документацию Chainlink для получения дополнительной информации.
Похоже, вы используете ремикс.
3. Отправьте свой контракт ССЫЛКА
Вы получите несколько уведомлений для подтверждения.