public override string CreateSignedTransaction(string aToAddress, decimal aAmount, decimal aTxFee, params object[] aExtParams) { string lNonce = null; if (aExtParams != null && aExtParams.Any()) { var lCustomTxFee = aExtParams.FirstOrDefault() as decimal?; if (lCustomTxFee.HasValue && lCustomTxFee.Value != aTxFee && lCustomTxFee.Value > 0) { aTxFee = lCustomTxFee.Value; } if (aExtParams.Length >= 2) { lNonce = aExtParams[1] as string; } } var lParentCurrency = FServerConnection.GetCurrency(FToken.ParentCurrencyID); var lParentCurrencyAdvocacy = FKeyManager.GetCurrencyAdvocacy(lParentCurrency.Id, lParentCurrency.ChainParamaters); var lFromAddress = lParentCurrencyAdvocacy.GetAddress(1); var lTransaction = PrepareNewTransaction(lFromAddress, aToAddress, aAmount, aTxFee); if (string.IsNullOrEmpty(lNonce)) { lNonce = FServerConnection.DirectCreateTransaction(lTransaction); } return(SignTransactionData(lNonce, lTransaction, lParentCurrencyAdvocacy)); }
public override string CreateSignedTransaction(string aToAddress, decimal aAmount, decimal aTxFee, params object[] aExtParams) { var lUnspents = FServerConnection.GetUnspentOutputs(FCurrencyItem.Id); if (aExtParams != null && aExtParams.Any()) { var lCustomTxFee = aExtParams.FirstOrDefault() as decimal?; if (lCustomTxFee.HasValue && lCustomTxFee.Value != aTxFee && lCustomTxFee.Value > 0) { aTxFee = lCustomTxFee.Value; } } string lData = PrepareNewTransaction(aToAddress, aAmount, aTxFee, FCurrencyItem, lUnspents, out CurrencyTransaction lCurrencyTransaction); return(SignTransactionData(lData, lCurrencyTransaction, FKeyManager.GetCurrencyAdvocacy(FCurrencyItem.Id, FCurrencyItem.ChainParamaters))); }