From 1820fff7a8c279084b49f7abe12e01eef746c250 Mon Sep 17 00:00:00 2001 From: Prometheus Date: Fri, 19 Aug 2022 11:34:48 +0100 Subject: [PATCH] add mobile aurora --- src/utils/arc_ipfs.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/utils/arc_ipfs.js b/src/utils/arc_ipfs.js index 82d1ef82..e260040d 100644 --- a/src/utils/arc_ipfs.js +++ b/src/utils/arc_ipfs.js @@ -475,6 +475,45 @@ export async function mintSingleToCelo(singleMintProps) { export async function mintSingleToAurora(singleMintProps) { const { file, metadata, price, account, connector, dispatch, setLoader, mainnet } = singleMintProps; + if (connector.isWalletConnect) { + const provider = new ethers.providers.Web3Provider(connector); + const signer = provider.getSigner(); + dispatch(setLoader("uploading 1 of 1")); + const asset = await connectAndMint(file, metadata, file.name, dispatch); + const uintArray = asset.metadata.toLocaleString(); + const id = parseInt(uintArray.slice(0, 7).replace(/,/g, "")); + dispatch(setLoader("minting 1 of 1")); + const contract = new ethers.Contract( + mainnet + ? process.env.REACT_APP_AURORA_MAINNET_SINGLE_ADDRESS + : process.env.REACT_APP_AURORA_TESTNET_SINGLE_ADDRESS, + mintSingle, + signer + ); + const ethNonce = await signer.getTransactionCount(); + const tx = { + from: account, + to: mainnet + ? process.env.REACT_APP_AURORA_MAINNET_SINGLE_ADDRESS + : process.env.REACT_APP_AURORA_TESTNET_SINGLE_ADDRESS, + // gasLimit: ethers.utils.hexlify(250000), change tx from legacy later + // gasPrice: ethers.utils.parseUnits('5', "gwei"), + data: contract.interface.encodeFunctionData("mint", [account, id, 1, asset.url, "0x"]), + nonce: ethNonce, + }; + try { + const result = await signer.sendTransaction(tx); + await result.wait(); + dispatch(setLoader("")); + return mainnet ? `https://aurorascan.dev/tx/${result.hash}` : `https://testnet.aurorascan.dev/tx/${result.hash}`; + } catch (error) { + dispatch(setLoader("")); + return { + error, + message: error.message ? error.message : "something went wrong! check your connected network and try again.", + }; + } + } const signer = await connector.getSigner(); dispatch(setLoader("uploading 1 of 1")); const asset = await connectAndMint(file, metadata, file.name, 4);