public async Task <TransactionInput> CreateTransactionInputEstimatingGasAsync(TContractMessage functionMessage, string contractAddress) { EnsureInitEncodingService(contractAddress); var gasEstimate = await GetOrEstimateMaximumGas(functionMessage, contractAddress).ConfigureAwait(false); functionMessage.Gas = gasEstimate; return(_functionMessageEncodingService.CreateTransactionInput(functionMessage)); }
public async Task <string> SignTransactionAsync(string contractAddress, TFunctionMessage functionMessage = null) { if (functionMessage == null) { functionMessage = new TFunctionMessage(); } SetEncoderContractAddress(contractAddress); functionMessage.Gas = await GetOrEstimateMaximumGasAsync(functionMessage, contractAddress).ConfigureAwait(false); var transactionInput = FunctionMessageEncodingService.CreateTransactionInput(functionMessage); return(await TransactionManager.SignTransactionAsync(transactionInput).ConfigureAwait(false)); }