首页 > 解决方案 > 在工厂合同中创建合同不起作用

问题描述

我想在我的工厂合同中创建一个合同,但由于某种原因没有任何反应:

//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;

import './Exchange.sol';
import 'hardhat/console.sol';

interface IFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

contract Factory is IFactory{
    mapping(address => mapping(address => address)) public override getPair;
    
     constructor() {}
    function createPair(address _tokenA, address _tokenB) public override returns (address pair) {
        pair = address(new Exchange{salt: keccak256(abi.encode(_tokenA, _tokenB))}());

    }

}

因此,我无法测试 Exchange 合约,因为它丢失了。

我正在npx hardhat node使用 localhost 启动节点并在其上运行。

标签: solidity

解决方案


推荐阅读