43 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|