0

PCS ルーターを介して購入する非常に単純な JavaScript。GasPrice を 10 より高くしようとする場合を除いて、これは機能します。これにより、常にトランザクションが失敗し、gasPrice x gasLimit の最大コストが請求されます。gasPrice_ と 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
    }
  );
4

0 に答える 0