278 lines
8 KiB
C++
Executable file
278 lines
8 KiB
C++
Executable file
// Copyright (c) 2011-2016 The Cryptonote developers
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#include "PaymentServiceJsonRpcMessages.h"
|
|
#include "Serialization/SerializationOverloads.h"
|
|
|
|
namespace PaymentService {
|
|
|
|
void Reset::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(viewSecretKey, "viewSecretKey");
|
|
}
|
|
|
|
void Reset::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetViewKey::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetViewKey::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(viewSecretKey, "viewSecretKey");
|
|
}
|
|
|
|
void GetStatus::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetStatus::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(blockCount, "blockCount");
|
|
serializer(knownBlockCount, "knownBlockCount");
|
|
serializer(lastBlockHash, "lastBlockHash");
|
|
serializer(peerCount, "peerCount");
|
|
}
|
|
|
|
void GetAddresses::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetAddresses::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(addresses, "addresses");
|
|
}
|
|
|
|
void CreateAddress::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
bool hasSecretKey = serializer(spendSecretKey, "spendSecretKey");
|
|
bool hasPublicKey = serializer(spendPublicKey, "spendPublicKey");
|
|
|
|
if (hasSecretKey && hasPublicKey) {
|
|
//TODO: replace it with error codes
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void CreateAddress::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(address, "address");
|
|
}
|
|
|
|
void DeleteAddress::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
if (!serializer(address, "address")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void DeleteAddress::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetSpendKeys::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
if (!serializer(address, "address")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void GetSpendKeys::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(spendSecretKey, "spendSecretKey");
|
|
serializer(spendPublicKey, "spendPublicKey");
|
|
}
|
|
|
|
void GetBalance::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(address, "address");
|
|
}
|
|
|
|
void GetBalance::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(availableBalance, "availableBalance");
|
|
serializer(lockedAmount, "lockedAmount");
|
|
}
|
|
|
|
void GetBlockHashes::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
bool r = serializer(firstBlockIndex, "firstBlockIndex");
|
|
r &= serializer(blockCount, "blockCount");
|
|
|
|
if (!r) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void GetBlockHashes::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(blockHashes, "blockHashes");
|
|
}
|
|
|
|
void TransactionHashesInBlockRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(blockHash, "blockHash");
|
|
serializer(transactionHashes, "transactionHashes");
|
|
}
|
|
|
|
void GetTransactionHashes::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(addresses, "addresses");
|
|
|
|
if (serializer(blockHash, "blockHash") == serializer(firstBlockIndex, "firstBlockIndex")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
if (!serializer(blockCount, "blockCount")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(paymentId, "paymentId");
|
|
}
|
|
|
|
void GetTransactionHashes::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(items, "items");
|
|
}
|
|
|
|
void TransferRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(type, "type");
|
|
serializer(address, "address");
|
|
serializer(amount, "amount");
|
|
}
|
|
|
|
void TransactionRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(state, "state");
|
|
serializer(transactionHash, "transactionHash");
|
|
serializer(blockIndex, "blockIndex");
|
|
serializer(timestamp, "timestamp");
|
|
serializer(isBase, "isBase");
|
|
serializer(unlockTime, "unlockTime");
|
|
serializer(amount, "amount");
|
|
serializer(fee, "fee");
|
|
serializer(transfers, "transfers");
|
|
serializer(extra, "extra");
|
|
serializer(paymentId, "paymentId");
|
|
}
|
|
|
|
void GetTransaction::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
if (!serializer(transactionHash, "transactionHash")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void GetTransaction::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(transaction, "transaction");
|
|
}
|
|
|
|
void TransactionsInBlockRpcInfo::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(blockHash, "blockHash");
|
|
serializer(transactions, "transactions");
|
|
}
|
|
|
|
void GetTransactions::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(addresses, "addresses");
|
|
|
|
if (serializer(blockHash, "blockHash") == serializer(firstBlockIndex, "firstBlockIndex")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
if (!serializer(blockCount, "blockCount")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(paymentId, "paymentId");
|
|
}
|
|
|
|
void GetTransactions::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(items, "items");
|
|
}
|
|
|
|
void GetUnconfirmedTransactionHashes::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(addresses, "addresses");
|
|
}
|
|
|
|
void GetUnconfirmedTransactionHashes::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(transactionHashes, "transactionHashes");
|
|
}
|
|
|
|
void WalletRpcOrder::serialize(CryptoNote::ISerializer& serializer) {
|
|
bool r = serializer(address, "address");
|
|
r &= serializer(amount, "amount");
|
|
|
|
if (!r) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void SendTransaction::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(sourceAddresses, "addresses");
|
|
|
|
if (!serializer(transfers, "transfers")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(changeAddress, "changeAddress");
|
|
|
|
if (!serializer(fee, "fee")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
if (!serializer(anonymity, "anonymity")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
bool hasExtra = serializer(extra, "extra");
|
|
bool hasPaymentId = serializer(paymentId, "paymentId");
|
|
|
|
if (hasExtra && hasPaymentId) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(unlockTime, "unlockTime");
|
|
}
|
|
|
|
void SendTransaction::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(transactionHash, "transactionHash");
|
|
}
|
|
|
|
void CreateDelayedTransaction::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(addresses, "addresses");
|
|
|
|
if (!serializer(transfers, "transfers")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(changeAddress, "changeAddress");
|
|
|
|
if (!serializer(fee, "fee")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
if (!serializer(anonymity, "anonymity")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
bool hasExtra = serializer(extra, "extra");
|
|
bool hasPaymentId = serializer(paymentId, "paymentId");
|
|
|
|
if (hasExtra && hasPaymentId) {
|
|
throw RequestSerializationError();
|
|
}
|
|
|
|
serializer(unlockTime, "unlockTime");
|
|
}
|
|
|
|
void CreateDelayedTransaction::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(transactionHash, "transactionHash");
|
|
}
|
|
|
|
void GetDelayedTransactionHashes::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void GetDelayedTransactionHashes::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
serializer(transactionHashes, "transactionHashes");
|
|
}
|
|
|
|
void DeleteDelayedTransaction::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
if (!serializer(transactionHash, "transactionHash")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void DeleteDelayedTransaction::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
void SendDelayedTransaction::Request::serialize(CryptoNote::ISerializer& serializer) {
|
|
if (!serializer(transactionHash, "transactionHash")) {
|
|
throw RequestSerializationError();
|
|
}
|
|
}
|
|
|
|
void SendDelayedTransaction::Response::serialize(CryptoNote::ISerializer& serializer) {
|
|
}
|
|
|
|
}
|