danicoin/src/PaymentGate/PaymentServiceJsonRpcMessages.cpp

203 lines
5.8 KiB
C++
Raw Normal View History

2015-05-27 12:08:46 +00:00
// Copyright (c) 2012-2015, The CryptoNote developers, The Bytecoin developers
//
// This file is part of Bytecoin.
//
// Bytecoin is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Bytecoin is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with Bytecoin. If not, see <http://www.gnu.org/licenses/>.
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");
2015-10-01 15:27:18 +00:00
serializer(state, "state");
2015-05-27 12:08:46 +00:00
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-10-01 15:27:18 +00:00
serializer(type, "type");
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");
}
}