Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blockchain Soldity接收功能错误-混音和#x27;s";交易";还有另一份合同的.transfer()?_Blockchain_Ethereum_Remix - Fatal编程技术网

Blockchain Soldity接收功能错误-混音和#x27;s";交易";还有另一份合同的.transfer()?

Blockchain Soldity接收功能错误-混音和#x27;s";交易";还有另一份合同的.transfer()?,blockchain,ethereum,remix,Blockchain,Ethereum,Remix,我正在努力使用Solidity中的接收功能。我尝试通过ContractOne为ContractTwo提供资金,然后立即将收到的资金转换为WETH。如果我通过调用有价值的合同(按transact on Remix),一切正常,但是,只要我尝试使用另一个合同,它就会失败 ContractOne如下所示: contract ParteinaherVerein { constructor(address payable party) payable { party.transfer(msg.v

我正在努力使用Solidity中的接收功能。我尝试通过ContractOne为ContractTwo提供资金,然后立即将收到的资金转换为WETH。如果我通过调用有价值的合同(按transact on Remix),一切正常,但是,只要我尝试使用另一个合同,它就会失败

ContractOne如下所示:

contract ParteinaherVerein {

constructor(address payable party) payable {
    party.transfer(msg.value);
}}
ContractTwo具有以下接收功能:

receive() external payable {
    
    if (msg.sender == wrappedEtherAddr) {
        // Do nothing
    } else {
        ETH2WETH();  // Locks Eth to get Weth
    }
}
在混音中,我的错误如下所示: VM错误:还原。还原事务已还原为初始状态。注意:如果您发送值,并且您发送的值应该小于您当前的余额,则调用的函数应该是可支付的。调试事务以获取更多信息

注意:我的ETH2WETH由以下几行组成:(但这不应包括任何错误,因为当我通过Remix接口直接从EOA进行交易时,它工作正常)

提前谢谢。现在已经花了我的时间了。 最好的

 function ETH2WETH() 
    public 
{
    (bool success, ) = address(WETHLike).call
    {
        value: address(this).balance
    }
    (
        abi.encodeWithSignature("deposit(uint256)", 
        address(this).balance)
    );
    require(success);
}