Closed Micky447 closed 1 year ago
Lesson 7
No response
Windows
const { network } = require("hardhat") const { networkConfig, developmentChains } = require("../helper-hardhat-config")
module.exports = async ({getNamedAccounts, deployments}) => { const { deploy, log } = deployments const { deployer } = await getNamedAccounts() const chainId = network.config.chainId
let ethUsdPriceFeedAddress if(developmentChains.includes[network.name]) { const ethUsdAggregator = await deployments.get("MockV3Aggregator") ethUsdPriceFeedAddress = ethUsdAggregator.address } else { ethUsdPriceFeedAddress = networkConfig[chainId]["ethUsdPriceFeed"] } log("Deploying FundMe contract.....") const fundMe = await deploy("FundMe", { contract: "FundMe", from: deployer, args: [ethUsdPriceFeedAddress], log: true, }) log("------------------------------------")
}
module.exports.tags = ["all", "fundme"]
.................................................................
Fund Me contract
// SPDX-License-Identifier: MIT pragma solidity ^0.8.8;
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol"; import "./PriceConverter.sol";
error NotOwner();
contract FundMe { using PriceConverter for uint256;
mapping(address => uint256) public addressToAmountFunded; address[] public funders; // Could we make this constant? /* hint: no! We should make it immutable! */ address public /* immutable */ i_owner; uint256 public constant MINIMUM_USD = 50 * 10 ** 18; AggregatorV3Interface public priceFeed; constructor(address priceFeedAddress) { i_owner = msg.sender; priceFeed = AggregatorV3Interface(priceFeedAddress); } function fund() public payable { require(msg.value.getConversionRate(priceFeed) >= MINIMUM_USD, "You need to spend more ETH!"); // require(PriceConverter.getConversionRate(msg.value) >= MINIMUM_USD, "You need to spend more ETH!"); addressToAmountFunded[msg.sender] += msg.value; funders.push(msg.sender); } modifier onlyOwner { // require(msg.sender == owner); if (msg.sender != i_owner) revert NotOwner(); _; } function withdraw() public onlyOwner { for (uint256 funderIndex=0; funderIndex < funders.length; funderIndex++){ address funder = funders[funderIndex]; addressToAmountFunded[funder] = 0; } funders = new address[](0); (bool callSuccess, ) = payable(msg.sender).call{value: address(this).balance}(""); require(callSuccess, "Call failed"); } fallback() external payable { fund(); } receive() external payable { fund(); }
const ethUsdAggregator = await deployments.get("MockV3Aggregator")
this code not working...
Lesson
Lesson 7
Could you please leave a link to the timestamp in the video where this error occurs? (You can right click a video and "copy video URL at current time")
No response
Operating System
Windows
Describe the bug
const { network } = require("hardhat") const { networkConfig, developmentChains } = require("../helper-hardhat-config")
module.exports = async ({getNamedAccounts, deployments}) => { const { deploy, log } = deployments const { deployer } = await getNamedAccounts() const chainId = network.config.chainId
}
module.exports.tags = ["all", "fundme"]
.................................................................
Fund Me contract
// SPDX-License-Identifier: MIT pragma solidity ^0.8.8;
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol"; import "./PriceConverter.sol";
error NotOwner();
contract FundMe { using PriceConverter for uint256;
}