1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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);
- }
- }
|