我试图通过使用ethers调用deposit
函数将Goerli上的ETH Package 到WETH中。尽管已经有几个TX被确认并成功开采,但在下拉列表Token Holdings
中,我的WETH余额goerli.etherscan.io
上不会出现任何内容。不,这里有WETH
吗,还有其他的标记
async function myWrap(prKey) {
let wallet = new ethers.Wallet(prKey, provider);
const contract = new ethers.Contract(WETH_CONTRACT_ADDRESS, WETH_ABI, wallet);
const txSigner = contract.connect(wallet);
const balance = await provider.getBalance(wallet.address);
const gasPrice = await provider.getGasPrice();
const balanceMinusGas = balance.sub(gasPrice.mul(ETH_GAS_LIMIT));
let tx = txSigner.deposit({value: balanceMinusGas});
return tx;
}
怎么了?
此外,在https://goerli.etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2处存在我的TX-s。
更新1
另外,我还试着打电话给
let amount = ethers.utils.parseEther(<sum of all previous ETH-s transfers>);
contract.transfer(wallet.address, amount);
然而,毫无结果
更新2
我在歌尔丽换了0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6
。但是,调用contract.deposit()
仍然不会将任何WETH
存入我的钱包。
1条答案
按热度按时间nzk0hqpo1#
您在评论中提到的WETH address在歌尔利测试网上没有任何智能合约代码。它“只是”这个网络上的常规EOA地址。
因此,当您在Goerli测试网上向该地址发送交易时,它只是传输ETH
value
-但仅此而已。没有其他交互发生,因为没有智能合约会对交易做出React。话虽如此,Uniswap docs page在Goerli上提到了一个不同的WETH合约地址,特别是0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6。
解决方案:在歌尔利网络上使用正确的WETH合同地址。