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

44 lines
1.4 KiB
C#

using System.Diagnostics.Contracts;
using UnityEngine;
using Web3Unity.Scripts.Library.ETHEREUEM.EIP;
using Web3Unity.Scripts.Library.Ethers.Contracts;
using Web3Unity.Scripts.Library.Web3Wallet;
using Web3Unity.Scripts.Prefabs;
using Contract = Web3Unity.Scripts.Library.Ethers.Contracts.Contract;
public class Web3WalletTransfer721Example : MonoBehaviour
{
public async void OnTransfer721()
{
// https://chainlist.org/
var chainId = "5"; // goerli
// contract to interact with
var contract = "0x31A61D3B956d9E95e0b9434BEf24bfEebB48b2c5";
// value in wei
var value = "0";
// abi in json format
var abi = ABI.ERC_721;
// smart contract method to call
var method = ETH_METHOD.SafeTransferFrom;
// account to send erc721 to
var toAccount = PlayerPrefs.GetString("Account");
// token id to send
var tokenId = "0";
var contractData = new Contract(abi, contract);
var data = contractData.Calldata(method, new object[]
{
toAccount,
toAccount,
tokenId
});
print(data);
// gas limit OPTIONAL
var gasLimit = "";
// gas price OPTIONAL
var gasPrice = "";
// send transaction
var response = await Web3Wallet.SendTransaction(chainId, contract, value, data, gasLimit, gasPrice);
print(response);
}
}