Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }