public IEnumerator createSubmission(string tournamentAddress, string parentHash, bool isFork, BigInteger value, Async thread = null) { var salt = getClaim(ipfsContentHash).salt; var transactionRequest = new TransactionSignedUnityRequest(NetworkSettings.infuraProvider, NetworkSettings.currentPrivateKey); var createSubmissionMsg = new CreateSubmissionFunction() { TournamentAddress = tournamentAddress, SubmissionContentHash = ipfsContentHash, ParentHash = parentHash, IsFork = isFork, Salt = salt, CommitContentHash = ipfsContentHash, Value = value, Gas = NetworkSettings.txGas, GasPrice = NetworkSettings.txGasPrice }; yield return(transactionRequest.SignAndSendTransaction <CreateSubmissionFunction>(createSubmissionMsg, MatryxCommit.address)); var txStatus = new Utils.CoroutineWithData <bool>(MatryxCortex.Instance, Utils.GetTransactionStatus(transactionRequest, "createSubmission", thread)); yield return(txStatus); yield return(txStatus.result); }
public IEnumerator createSubmission(MatryxSubmission submission, Async thread = null) { var transactionRequest = new TransactionSignedUnityRequest(NetworkSettings.infuraProvider, NetworkSettings.currentPrivateKey); var createSubmissionMessage = new CreateSubmissionFunction() { Content = submission.dto.Content, CommitHash = Utils.HexStringToByteArray(submission.commit.hash), Gas = NetworkSettings.txGas, GasPrice = NetworkSettings.txGasPrice }; yield return(transactionRequest.SignAndSendTransaction <CreateSubmissionFunction>(createSubmissionMessage, address)); var getTransactionStatus = new Utils.CoroutineWithData <bool>(MatryxCortex.Instance, Utils.GetTransactionStatus(transactionRequest, "createSubmission", thread)); yield return(getTransactionStatus); yield return(getTransactionStatus.result); }