Я установил плату за цепную связь VRF на 0,1 ССЫЛКИ вместо 2 ССЫЛОК в сети, как исправить эту проблему? (уже развернуто)

#chainlink

Вопрос:

Мы развернули контракт VRF в mainnet и добавили его в наш основной контракт. Но есть проблема, мы установили лимит платы за 0,1 ССЫЛКУ вместо 2 ССЫЛОК, и теперь похоже, что это не работает. Можете ли вы дать нам решение этой проблемы.

 constructor  () 
    VRFConsumerBase(
      0xf0d54349aDdcf704F77AE15b96510dEA15cb7952, // VRF Coordinator     
        0x514910771AF9Ca656af840dff83E8264EcF986CA// LINK Token
    )
{
    keyHash = 0xAA77729D3466CA35AE8D28B3BBAC7CC36A5031EFDC430821C02BC31A238AF445;
   **fee = 0.1 * 10 ** 18; // 0.1 LINK**
    
} 
 

Ответ №1:

Ваше единственное решение здесь-повторно развернуть ваши контракты с правильным набором сборов.

Код, развернутый в блокчейне, неизменен, и, поскольку вы жестко закодировали плату, ее нельзя изменить. В будущем вы всегда можете создать функцию настройки, доступ к которой может получить только владелец контракта, которая позволяет вам изменять плату. Пример:

 function setFee(uint256 _fee) public onlyOwner {
fee = _fee;
 }
 

Эта функция использует собственный контракт OpenZeppelin для получения модификатора onlyOwner.