Solidity

例外:通過智能合約與 uniswap 交換時恢復

  • May 12, 2021

這是我的程式碼

pragma solidity ^0.8.2;
import "https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/interfaces/IUniswapV2Router02.sol"; 

contract Test_Swap{

 address owner = msg.sender;     
 
 IUniswapV2Router02 uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
 
 address private token_address = 0x514910771AF9Ca656af840dff83E8264EcF986CA; //chainlink
 address private usdc = 0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C;
 
 function getPathForETHtoToken() private view returns (address[] memory) {
    address[] memory path = new address[](2);
    path[0] = uniswap.WETH();
    path[1] = usdc;
  return path;
  }
  
 function swapContractEthToLink() external payable {  
 uniswap.swapExactETHForTokens{value: msg.value}(0,getPathForETHtoToken(), owner, block.timestamp + 15);  
 }
}

我正在嘗試用我的乙太幣換取 usdc,但出現錯誤

我正在使用混音,在 kovan 上部署我的契約

我為我的英語(Google翻譯)道歉,也許是一個愚蠢的問題,我是初學者,我會感謝你的幫助

在Kovan上不起作用,因為您的 USDC Token 地址在Kovan上無效,您可以在****Kovan上看到該地址0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C是一個空地址

<https://kovan.etherscan.io/address/0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C>

Ropsten上,它是有效的 USDC 代幣

<https://ropsten.etherscan.io/address/0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C>

我猜 USDC 團隊只是沒有在 Kovan 上部署他們的代幣**,所以當你嘗試在Kovan**上將 WETH 交換為 USDC 時,它當然會被還原。

引用自:https://ethereum.stackexchange.com/questions/98471