MintWeb3Wallet721.cs 1.6 KB

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