PoggyBird/Assets/Web3Unity/Scripts/Prefabs/Wallet/Web3WalletTransfer20Example.cs
2023-02-28 19:02:09 +05:30

43 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Newtonsoft.Json;
using Web3Unity.Scripts.Library.ETHEREUEM.EIP;
using Web3Unity.Scripts.Library.Ethers.Contracts;
using Web3Unity.Scripts.Library.Web3Wallet;
public class Web3WalletTransfer20Example : MonoBehaviour
{
async public void OnTransfer20()
{
// https://chainlist.org/
string chainId = "5"; // goerli
// contract to interact with
string contract = "0xc778417e063141139fce010982780140aa0cd5ab";
// value in wei
string value = "0";
// abi in json format
string abi = "";//ABI.ERC_20;
// smart contract method to call
string method = "";//ETH_METHOD.Transfer;
// account to send erc20 to
string toAccount = "0xdD4c825203f97984e7867F11eeCc813A036089D1";
// amount of erc20 tokens to send
string amount = "1000000000000000";
// create data to interact with smart contract
var contractData = new Contract(abi, contract);
var data = contractData.Calldata(method, new object[]
{
toAccount,
amount
});
// gas limit OPTIONAL
string gasLimit = "";
// gas price OPTIONAL
string gasPrice = "";
// send transaction
string response = await Web3Wallet.SendTransaction(chainId, contract, value, data, gasLimit, gasPrice);
print(response);
}
}