internal async Task<TransactionReceipt> SignAndExecuteWithRetryAsync(ISignatory signatory, GossipContextStack context) { var precheck = await SignAndSubmitWithRetryAsync(signatory, context); ValidateResult.PreCheck(TransactionID, precheck); var receipt = await Transactions.GetReceiptAsync(context, TransactionID); return receipt; }
internal async Task<Transaction> SignAsync(ISignatory signatory, int prefixTrimLimit) { var invoice = new Invoice(this); await signatory.SignAsync(invoice); return new Transaction { SignedTransactionBytes = invoice.GetSignedTransaction(prefixTrimLimit).ToByteString() }; }
/// <summary> /// Legacy support for components that also have /// the ability to sign transactions. Used only internally /// by the library. /// </summary> /// <param name="signer"> /// The legacy signer instance (such as a <see cref="Account"/>). /// </param> internal Signatory(ISignatory signer) { _type = Type.OtherSigner; _data = signer; }
internal async Task<TransactionResponse> SignAndSubmitWithRetryAsync(ISignatory signatory, GossipContextStack context) { var request = await SignAsync(signatory, context.SignaturePrefixTrimLimit); return await Transactions.ExecuteSignedRequestWithRetryImplementationAsync(context, request, InstantiateNetworkRequestMethod, getResponseCode);