JAVASCRIPT   68

SEND TX WEB3 CONTRACT

Guest on 27th May 2022 04:21:47 PM

  1.   function pay() {
  2.                         //WRONG NETWORK (SWAP TO FANTOM)
  3.                         if(window.ethereum.chainId !== '0xFA'){    
  4.                                 window.ethereum.request({
  5.                  method: 'wallet_addEthereumChain',
  6.                 params: [{
  7.                 chainId: '0xFA',
  8.                                 chainName: 'Fantom Opera',
  9.                                 nativeCurrency: {
  10.                                 name: 'Fantom',
  11.                                 symbol: 'FTM',
  12.                                 decimals: 18
  13.                                 },
  14.                         rpcUrls: ['https://rpc.ftm.tools'],
  15.                                 blockExplorerUrls: ['https://ftmscan.com/']
  16.                             }]
  17.                                 }).catch((error) => {
  18.                                         window.unityInstance.SendMessage('WalletInteraction', 'Status', 'failed To Connect');
  19.                                         window.unityInstance.SendMessage('WalletInteraction', 'Connection_Error');
  20.                                 });
  21.                                 return;
  22.                         }
  23.                         //IF FANTOM SEND TX
  24.                         const web3 = new Web3(window.ethereum);
  25.                         let tokenAddress = "0x04068DA6C83AFCFA0e13ba15A6696662335D5B75";  //USDC
  26.                         let toAddress = "0x05167EaF383a185c5CFc4147773FD54B2bBa8936";  //MY WALLET ADDRESS3
  27.                         let fromAddress = currentAccount;
  28.                         // Use BigNumber
  29.                         let decimals = 6;
  30.                         let amount = 1;
  31.                         let minABI = [
  32.                                 // transfer
  33.                                 {
  34.                                         "constant": false,
  35.                                         "inputs": [
  36.                                                 {
  37.                                                         "name": "_to",
  38.                                                         "type": "address"
  39.                                                 },
  40.                                                 {
  41.                                                         "name": "_value",
  42.                                                         "type": "uint256"
  43.                                                 }
  44.                                         ],
  45.                                         "name": "transfer",
  46.                                         "outputs": [
  47.                                                 {
  48.                                                         "name": "",
  49.                                                         "type": "bool"
  50.                                                 }
  51.                                         ],
  52.                                         "type": "function"
  53.                                 }
  54.                         ];
  55.                         // Get ERC20 Token contract instance
  56.                         let contract = new web3.eth.Contract(minABI, tokenAddress);
  57.                         // calculate ERC20 token amount
  58.             let value = amount * Math.pow(10, decimals).toString();
  59.                         // call transfer function
  60.                         contract.methods.transfer(toAddress, value).send({ from: fromAddress })
  61.                                 .on('transactionHash', function (hash) {
  62.                                         console.log(hash);
  63.                                 });
  64.                 }

Raw Paste


Login or Register to edit or fork this paste. It's free.