为什么当我将燃气量增加到10以上时,我的合同购买失败?

pinkon5k  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(172)

通过PC路由器购买的一个非常简单的javascript。它的工作,除了当我试图去高于10的加斯普里斯。这总是导致交易失败,并收取gasprice x gaslimit的最大成本。gasprice_u和gaslimit通过提示符获得,因此可以更改。

const WBNB2swap= ethers.utils.parseEther(amount_BNB).toHexString();

// for some reason chokes on gas over 10... it fails and spits out massive errors and then     charges the entire sum contributed

const gasPrice__ = ethers.utils.parseUnits(gasPrice_, 'gwei');
const gas = { gasPrice: gasPrice__, gasLimit: gasLimit_ }

// create an instance to wallet 
const mnemonic = seed;    
const provider = new ethers.providers.WebSocketProvider('wss://bsc-ws-node.nariox.org:443');
const walletIns = ethers.Wallet.fromMnemonic(mnemonic);
const account = wallet.connect(provider);
// interact with the router
const router = new ethers.Contract( 
  addresses.router,
  [
    "function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint     deadline) external payable returns (uint[] memory amounts)"
  ],
  account
);  

  const buy = async (token) => { 
  const tx = await router.swapExactETHForTokens(
   0,     
    [addresses.WBNB, token],
    addresses.target,
    Math.floor(Date.now() / 1000) + 60 * 10,                    
    {
        ...gas,
        value: WBNB2swap
    }
  );

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题