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