Web3WalletTransfer1155Example.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using UnityEngine;
  2. using Web3Unity.Scripts.Library.ETHEREUEM.EIP;
  3. using Web3Unity.Scripts.Library.Ethers.Contracts;
  4. using Web3Unity.Scripts.Library.Web3Wallet;
  5. public class Web3WalletTransfer1155Example : MonoBehaviour
  6. {
  7. public async void OnTransfer1155()
  8. {
  9. // https://chainlist.org/
  10. var chainId = "5"; // goerli
  11. // contract to interact with
  12. var contract = "0xae283E79a5361CF1077bf2638a1A953c872AD973";
  13. // value in wei
  14. var value = "0";
  15. // abi in json format
  16. var abi = "";//ABI.ERC_1155;
  17. // smart contract method to call
  18. var method = "safeTransferFrom";
  19. // account to sent tokens to
  20. var toAccount = PlayerPrefs.GetString("Account");
  21. // token id to send
  22. var tokenId = 0;
  23. // amount of tokens to send
  24. var amount = 1;
  25. // bytes
  26. byte[] dataObject = { };
  27. // array of arguments for contract
  28. var contractData = new Contract(abi, contract);
  29. var data = contractData.Calldata(method, new object[]
  30. {
  31. PlayerPrefs.GetString("Account"),
  32. toAccount,
  33. tokenId,
  34. amount,
  35. dataObject
  36. });
  37. // gas limit OPTIONAL
  38. var gasLimit = "";
  39. // gas price OPTIONAL
  40. var gasPrice = "";
  41. // send transaction
  42. var response = await Web3Wallet.SendTransaction(chainId, contract, value, data, gasLimit, gasPrice);
  43. print(response);
  44. }
  45. }