MintWebGL721.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Models;
  2. using Web3Unity.Scripts.Library.ETHEREUEM.Connect;
  3. using UnityEngine;
  4. using System;
  5. #if UNITY_WEBGL
  6. public class MintWebGL721 : MonoBehaviour
  7. {
  8. // set chain: ethereum, moonbeam, polygon etc
  9. public string chain = "ethereum";
  10. // set network mainnet, testnet
  11. public string network = "goerli";
  12. // address of nft you want to mint
  13. public string nftAddress = "f01559ae4021a47e26bc773587278f62a833f2a6117411afbc5a7855661936d1c";
  14. // type
  15. string type = "721";
  16. public async void VoucherMintNft721()
  17. {
  18. try
  19. {
  20. var voucherResponse721 = await EVM.Get721Voucher();
  21. CreateRedeemVoucherModel.CreateVoucher721 voucher721 = new CreateRedeemVoucherModel.CreateVoucher721();
  22. voucher721.tokenId = voucherResponse721.tokenId;
  23. voucher721.minPrice = voucherResponse721.minPrice;
  24. voucher721.signer = voucherResponse721.signer;
  25. voucher721.receiver = voucherResponse721.receiver;
  26. voucher721.signature = voucherResponse721.signature;
  27. string voucherArgs = JsonUtility.ToJson(voucher721);
  28. // connects to user's browser wallet to call a transaction
  29. RedeemVoucherTxModel.Response voucherResponse = await EVM.CreateRedeemTransaction(chain, network, voucherArgs, type, nftAddress, voucherResponse721.receiver);
  30. string response = await Web3GL.SendTransactionData(voucherResponse.tx.to, voucherResponse.tx.value.ToString(), voucherResponse.tx.gasPrice, voucherResponse.tx.gasLimit, voucherResponse.tx.data);
  31. print("Response: " + response);
  32. }
  33. catch (Exception e)
  34. {
  35. Debug.LogException(e, this);
  36. }
  37. }
  38. }
  39. #endif