コード例 #1
0
        public async Task <IActionResult> AddFundToContract(long fundAmount, string walletPassword)
        {
            var contract = new Contract
            {
                WalletName     = User.GetWalletName(),
                WalletAddress  = User.GetWalletAddress(),
                WalletPassword = walletPassword,
                Amount         = fundAmount.ToString()
            };

            var transaction = await _blockChainApi.AddFundToContract(contract);

            if (transaction.Success)
            {
                for (var i = 0; i < 2; i++)
                {
                    await Task.Delay(_appConfiguration.Value.AverageBlockTime);

                    var receipt = await _blockChainApi.GetReceipt(transaction.TransactionId);

                    if (receipt.Success)
                    {
                        break;
                    }

                    if (!string.IsNullOrEmpty(receipt.Error))
                    {
                        return(JsonError(receipt.Error));
                    }
                }

                return(JsonSuccess(Constants.ContractFundSuccess));
            }

            return(JsonError(Constants.Error));
        }