danicoin/src/PaymentGate/PaymentServiceJsonRpcMessages.cpp

188 lines
5.2 KiB
C++
Raw Normal View History

// Copyright (c) 2011-2015 The Cryptonote developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
2015-05-27 12:08:46 +00:00
2015-07-30 15:22:07 +00:00
#include "PaymentServiceJsonRpcMessages.h"
#include "Serialization/SerializationOverloads.h"
2015-05-27 12:08:46 +00:00
namespace PaymentService {
2015-07-15 12:23:00 +00:00
void TransferDestination::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(amount, "amount");
r &= serializer(address, "address");
2015-05-27 12:08:46 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-05-27 12:08:46 +00:00
}
}
2015-07-15 12:23:00 +00:00
void SendTransactionRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(destinations, "destinations");
r &= serializer(fee, "fee");
r &= serializer(mixin, "mixin");
serializer(unlockTime, "unlock_time");
serializer(paymentId, "payment_id");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-05-27 12:08:46 +00:00
}
}
2015-07-15 12:23:00 +00:00
void SendTransactionResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(transactionId, "transaction_id");
}
2015-07-30 15:22:07 +00:00
void GetAddressRequest::serialize(CryptoNote::ISerializer& serializer) {
serializer(index, "index");
}
void DeleteAddressRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(address, "address");
if (!r) {
throw RequestSerializationError();
}
}
void DeleteAddressResponse::serialize(CryptoNote::ISerializer& serializer) {
}
void CreateAddressResponse::serialize(CryptoNote::ISerializer& serializer) {
serializer(address, "address");
}
void GetAddressCountResponse::serialize(CryptoNote::ISerializer& serializer) {
serializer(count, "count");
}
2015-07-15 12:23:00 +00:00
void GetAddressResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(address, "address");
}
2015-07-30 15:22:07 +00:00
void GetActualBalanceRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(address, "address");
if (!r) {
throw std::runtime_error("Required parameter is missing");
}
}
void GetPendingBalanceRequest::serialize(CryptoNote::ISerializer& serializer) {
serializer(address, "address");
}
2015-07-15 12:23:00 +00:00
void GetActualBalanceResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(actualBalance, "actual_balance");
}
2015-07-15 12:23:00 +00:00
void GetPendingBalanceResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(pendingBalance, "pending_balance");
}
2015-07-15 12:23:00 +00:00
void GetTransactionsCountResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(transactionsCount, "transactions_count");
}
2015-07-15 12:23:00 +00:00
void GetTransfersCountResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(transfersCount, "transfers_count");
}
2015-07-15 12:23:00 +00:00
void GetTransactionIdByTransferIdRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(transferId, "transfer_id");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-07-15 12:23:00 +00:00
}
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void GetTransactionIdByTransferIdResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(transactionid, "transaction_id");
}
2015-07-15 12:23:00 +00:00
void GetTransactionRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(transactionId, "transaction_id");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-07-15 12:23:00 +00:00
}
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void TransactionRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(firstTransferId, "first_transfer_id");
serializer(transferCount, "transfer_count");
serializer(totalAmount, "total_amount");
serializer(fee, "fee");
serializer(hash, "hash");
serializer(blockHeight, "block_height");
serializer(timestamp, "timestamp");
serializer(extra, "extra");
2015-07-30 15:22:07 +00:00
serializer(transfers, "transfers");
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void GetTransactionResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(found, "found");
2015-07-30 15:22:07 +00:00
if (found) {
2015-07-15 12:23:00 +00:00
serializer(transactionInfo, "transaction_info");
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
}
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
void ListTransactionsRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(startingTransactionId, "starting_transaction_id");
r &= serializer(maxTransactionCount, "max_transaction_count");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
throw std::runtime_error("Required parameter is missing");
}
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void ListTransactionsResponse::serialize(CryptoNote::ISerializer& serializer) {
serializer(transactions, "transactions");
}
void TransferRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(address, "address");
serializer(amount, "amount");
}
2015-07-15 12:23:00 +00:00
void GetTransferRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(transferId, "transfer_id");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-07-15 12:23:00 +00:00
}
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void GetTransferResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(found, "found");
2015-07-15 12:23:00 +00:00
if (found) {
serializer(transferInfo, "transfer_info");
2015-05-27 12:08:46 +00:00
}
}
2015-07-15 12:23:00 +00:00
void GetIncomingPaymentsRequest::serialize(CryptoNote::ISerializer& serializer) {
bool r = serializer(payments, "payments");
2015-05-27 12:08:46 +00:00
2015-07-15 12:23:00 +00:00
if (!r) {
2015-07-30 15:22:07 +00:00
throw RequestSerializationError();
2015-07-15 12:23:00 +00:00
}
2015-05-27 12:08:46 +00:00
}
2015-07-15 12:23:00 +00:00
void PaymentsById::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(id, "id");
serializer(payments, "payments");
}
2015-07-15 12:23:00 +00:00
void GetIncomingPaymentsResponse::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(payments, "payments");
}
2015-07-15 12:23:00 +00:00
void PaymentDetails::serialize(CryptoNote::ISerializer& serializer) {
2015-05-27 12:08:46 +00:00
serializer(txHash, "tx_hash");
serializer(amount, "amount");
serializer(blockHeight, "block_height");
serializer(unlockTime, "unlock_time");
}
}