public static void Encode(IByteWriter stream, TransactionResultSet encodedTransactionResultSet) { int resultssize = encodedTransactionResultSet.Results.Length; XdrEncoding.EncodeInt32(resultssize, stream); for (int i = 0; i < resultssize; i++) { TransactionResultPair.Encode(stream, encodedTransactionResultSet.Results[i]); } }
public static TransactionHistoryResultEntry Decode(XdrDataInputStream stream) { var decodedTransactionHistoryResultEntry = new TransactionHistoryResultEntry(); decodedTransactionHistoryResultEntry.LedgerSeq = Uint32.Decode(stream); decodedTransactionHistoryResultEntry.TxResultSet = TransactionResultSet.Decode(stream); decodedTransactionHistoryResultEntry.Ext = TransactionHistoryResultEntryExt.Decode(stream); return(decodedTransactionHistoryResultEntry); }
public static TransactionHistoryResultEntry Decode(IByteReader stream) { TransactionHistoryResultEntry decodedTransactionHistoryResultEntry = new TransactionHistoryResultEntry(); decodedTransactionHistoryResultEntry.LedgerSeq = Uint32.Decode(stream); decodedTransactionHistoryResultEntry.TxResultSet = TransactionResultSet.Decode(stream); decodedTransactionHistoryResultEntry.Ext = TransactionHistoryResultEntryExt.Decode(stream); return(decodedTransactionHistoryResultEntry); }
public static TransactionResultSet Decode(IByteReader stream) { TransactionResultSet decodedTransactionResultSet = new TransactionResultSet(); int resultssize = XdrEncoding.DecodeInt32(stream); decodedTransactionResultSet.Results = new TransactionResultPair[resultssize]; for (int i = 0; i < resultssize; i++) { decodedTransactionResultSet.Results[i] = TransactionResultPair.Decode(stream); } return decodedTransactionResultSet; }
public static void Encode(XdrDataOutputStream stream, TransactionResultSet encodedTransactionResultSet) { var resultssize = encodedTransactionResultSet.Results.Length; stream.WriteInt(resultssize); for (var i = 0; i < resultssize; i++) { TransactionResultPair.Encode(stream, encodedTransactionResultSet.Results[i]); } }
public static TransactionResultSet Decode(XdrDataInputStream stream) { var decodedTransactionResultSet = new TransactionResultSet(); var resultssize = stream.ReadInt(); decodedTransactionResultSet.Results = new TransactionResultPair[resultssize]; for (var i = 0; i < resultssize; i++) { decodedTransactionResultSet.Results[i] = TransactionResultPair.Decode(stream); } return(decodedTransactionResultSet); }
public static TransactionResultSet Decode(IByteReader stream) { TransactionResultSet decodedTransactionResultSet = new TransactionResultSet(); int resultssize = XdrEncoding.DecodeInt32(stream); decodedTransactionResultSet.Results = new TransactionResultPair[resultssize]; for (int i = 0; i < resultssize; i++) { decodedTransactionResultSet.Results[i] = TransactionResultPair.Decode(stream); } return(decodedTransactionResultSet); }
private static Response HandleRequest(DataProvider dp) { Response response = new Response(); try { if (dp.extra_data != null) { DateTime expires_at = DateTime.Now.AddSeconds(BitCoinTraderConfig.EXPIRE); string receiver_address = dp.extra_data["qrcode"].ToString(); decimal amount; decimal.TryParse(dp.extra_data["amount"].ToString(), out amount); string crypto_currency_symbol = dp.extra_data["crypto_currency_symbol"].ToString(); TransactionResultSet transaction = new TransactionResultSet(); if (dp.extra_data.ContainsKey("transaction")) { transaction = JsonConvert.DeserializeObject <TransactionResultSet>(dp.extra_data["transaction"].ToString()); } while (_isSending) { Thread.Sleep(500); } if (expires_at < DateTime.Now) { response.status.code = Objects.Error.SystemTimeout; response.status.value = "Timeout"; } else { _isSending = true; BitCoinTrader.Transaction cryptoTransaction = new BitCoinTrader.Transaction(); switch (crypto_currency_symbol) { case "BTC": cryptoTransaction.InitVars( _log, BitCoinTraderConfig.BTC_FULL_NODE_URL, BitCoinTraderConfig.BTC_FULL_NODE_AUTH, BitCoinTraderConfig.BTC_INSIGHT_API, BitCoinTraderConfig.BTC_SENDER_ADDRESS, BitCoinTraderConfig.BTC_MINER_FEE, crypto_currency_symbol ); break; case "LTC": cryptoTransaction.InitVars( _log, BitCoinTraderConfig.LTC_FULL_NODE_URL, BitCoinTraderConfig.LTC_FULL_NODE_AUTH, BitCoinTraderConfig.LTC_INSIGHT_API, BitCoinTraderConfig.LTC_SENDER_ADDRESS, BitCoinTraderConfig.LTC_MINER_FEE, crypto_currency_symbol ); break; default: response.status.code = Objects.Error.InvalidParameters; response.status.value = "Crypto not support"; break; } if (response.status.code != Objects.Error.NoError) { return(response); } List <UTXOResponse> uTXOs = cryptoTransaction.GetListUnspent(cryptoTransaction._sender); if (uTXOs.Count != 0) { DataProvider dataProvider = new DataProvider(); dataProvider.extra_data.Add("uTXOs", uTXOs); dataProvider.extra_data.Add("amount", amount); dataProvider.extra_data.Add("minerFee", cryptoTransaction._minerFee); dataProvider.extra_data.Add("receiverAddress", receiver_address); dataProvider.extra_data.Add("currencySymbol", cryptoTransaction._currencySymbol); response = SpMessage.Transact <DataProvider, Response>(dataProvider, GetZMQAddress(crypto_currency_symbol), new ZContext(), log: _log); if (response.status.code == Objects.Error.NoError) { RPCResponse rpcResponse = cryptoTransaction.SendRawTransaction(response.result.ToString(), transaction.transaction_id); response.result = rpcResponse; if (rpcResponse.error != null) { response.status.code = (Objects.Error)rpcResponse.error.code; response.status.value = rpcResponse.error.message; } } } else { response.status.code = Objects.Error.ServerError; response.status.value = "Sender address don't have utxo"; } _isSending = false; } } } catch (Exception ex) { response.status.code = Objects.Error.ServerError; response.status.value = ex.Message; _isSending = false; } return(response); }
public static void Encode(XdrDataOutputStream stream, TransactionHistoryResultEntry encodedTransactionHistoryResultEntry) { Uint32.Encode(stream, encodedTransactionHistoryResultEntry.LedgerSeq); TransactionResultSet.Encode(stream, encodedTransactionHistoryResultEntry.TxResultSet); TransactionHistoryResultEntryExt.Encode(stream, encodedTransactionHistoryResultEntry.Ext); }
public static void Encode(IByteWriter stream, TransactionHistoryResultEntry encodedTransactionHistoryResultEntry) { Uint32.Encode(stream, encodedTransactionHistoryResultEntry.LedgerSeq); TransactionResultSet.Encode(stream, encodedTransactionHistoryResultEntry.TxResultSet); TransactionHistoryResultEntryExt.Encode(stream, encodedTransactionHistoryResultEntry.Ext); }