Can not verify Smart Contract with @chainlink

Viewed 308

I can not verify my test smart contract on BSC Main Network using @chainlink.

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.7;

import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";

contract PriceTest {
    AggregatorV3Interface internal priceFeed;
    
    constructor() public { 
    priceFeed = AggregatorV3Interface(0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE); // for BSC Main Net

    }
 
   function getLatestPrice() public view returns (uint256) {
        (,int price,,,) = priceFeed.latestRoundData();
        return uint256(price/100000000);
    }
     
}

What I have done :

  1. Make Flattened file and put in the contract code using truffle-flattener. I did it before for a test net and it's ok.

  2. Copy ABI from remix and pasted to abi.hashex.org

But I tried many time end up with problem in verifying the contract. I think I am not really understand how to put constructor parameter correctly to get the ABI auto-parse. I am quite new to smart contract. Need learn more from experts.

My contract :

https://bscscan.com/address/0x0849a15338a5f0787696cea335757b608ff92a85

Flattened file :

// File: @chainlink\contracts\src\v0.6\interfaces\AggregatorV3Interface.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

interface AggregatorV3Interface {

  function decimals()
    external
    view
    returns (
      uint8
    );

  function description()
    external
    view
    returns (
      string memory
    );

  function version()
    external
    view
    returns (
      uint256
    );

  // getRoundData and latestRoundData should both raise "No data present"
  // if they do not have data to report, instead of returning unset values
  // which could be misinterpreted as actual reported values.
  function getRoundData(
    uint80 _roundId
  )
    external
    view
    returns (
      uint80 roundId,
      int256 answer,
      uint256 startedAt,
      uint256 updatedAt,
      uint80 answeredInRound
    );

  function latestRoundData()
    external
    view
    returns (
      uint80 roundId,
      int256 answer,
      uint256 startedAt,
      uint256 updatedAt,
      uint80 answeredInRound
    );

}

// File: contracts\Getprice.sol

pragma solidity ^0.6.7;


contract PriceTest {
    AggregatorV3Interface internal priceFeed;
    
    constructor() public { 
    priceFeed = AggregatorV3Interface(0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE); // for BSC Main Net

    }
 
   function getLatestPrice() public view returns (uint256) {
        (,int price,,,) = priceFeed.latestRoundData();
        return uint256(price/100000000);
    }
     
}
0 Answers
Related