mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
update proto files matching with pauls proto version, update code which use them
This commit is contained in:
parent
8d3783611a
commit
0552420cc2
@ -33,7 +33,7 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
|
||||
const char* pageName = "Decode Transaction";
|
||||
model::messages::gradido::TransactionBody transactionBody;
|
||||
proto::gradido::TransactionBody transactionBody;
|
||||
bool decoded = false;
|
||||
bool adminUser = false;
|
||||
if(mSession && mSession->getNewUser()) {
|
||||
@ -182,58 +182,51 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
#line 82 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
if(transactionBody.has_transfer()) {
|
||||
auto transfer = transactionBody.transfer();
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t<h3>Transfer</h3>\n";
|
||||
responseStream << "\t\t<b>Sender</b>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 87 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
for(int i = 0; i < transfer.senderamounts_size(); i++) {
|
||||
auto sender = transfer.senderamounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)sender.ed25519_sender_pubkey().data(), sender.ed25519_sender_pubkey().size());
|
||||
responseStream << "\t\t\t";
|
||||
#line 86 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
if(transfer.has_local()) {
|
||||
auto local_transfer = transfer.local();
|
||||
auto sender_pubkey = local_transfer.sender().pubkey();
|
||||
auto receiver_pubkey = local_transfer.receiver();
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)sender_pubkey.data(), sender_pubkey.size());
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t<p>pubkey: ";
|
||||
#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( hex );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t\t<p>amount: ";
|
||||
responseStream << "\t\t\t\t<h3>Local Transfer</h3>\n";
|
||||
responseStream << "\t\t\t\t<b>From: </b>";
|
||||
#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( TransactionBase::amountToString(sender.amount()) );
|
||||
responseStream << " GDD</p>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t<b>Receiver</b>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
for(int i = 0; i < transfer.receiveramounts_size(); i++) {
|
||||
auto receiver = transfer.receiveramounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size());
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t<p>pubkey: ";
|
||||
#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( hex );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t\t<p>amount: ";
|
||||
#line 102 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( TransactionBase::amountToString(receiver.amount()) );
|
||||
responseStream << " GDD</p>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 103 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t";
|
||||
#line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size()); responseStream << "\n";
|
||||
responseStream << "\t\t\t\t<b>To: </b>";
|
||||
#line 95 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( hex );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t<b>Amount: </b>";
|
||||
#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( TransactionBase::amountToString(local_transfer.sender().amount()) );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} else { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t<h3>- Not implemented yet (Group Transfer) -</h3>\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 99 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 104 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} else if(transactionBody.has_creation()) {
|
||||
auto creation = transactionBody.creation();
|
||||
auto receiver = creation.receiveramount();
|
||||
auto receiver = creation.receiver();
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size());
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());
|
||||
|
||||
Poco::AutoPtr<controller::User> user = nullptr;
|
||||
if(adminUser) {
|
||||
user = controller::User::create();
|
||||
if(!user->load((const unsigned char*)receiver.ed25519_receiver_pubkey().data())) {
|
||||
if(!user->load((const unsigned char*)receiver.pubkey().data())) {
|
||||
user.assign(nullptr);
|
||||
}
|
||||
}
|
||||
@ -241,32 +234,32 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t<h3>Creation</h3>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 117 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
if(!adminUser || user.isNull() || !user->getModel()) { responseStream << "\n";
|
||||
responseStream << "\t\t<p>pubkey: ";
|
||||
#line 121 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 118 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( hex );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} else { responseStream << "\n";
|
||||
responseStream << "\t\t<p>user: </p>\n";
|
||||
responseStream << "\t\t<p>";
|
||||
#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 121 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( user->getModel()->toHTMLString() );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t<p>amount: ";
|
||||
#line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 123 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
responseStream << ( TransactionBase::amountToString(receiver.amount()) );
|
||||
responseStream << " GDD</p>\n";
|
||||
responseStream << "\t\t";
|
||||
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t";
|
||||
#line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "</div>\n";
|
||||
// begin include footer.cpsp
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#include "Poco/DateTimeFormatter.h"
|
||||
#include <sodium.h>
|
||||
|
||||
TransactionCreation::TransactionCreation(const std::string& memo, const model::messages::gradido::TransactionCreation& protoCreation)
|
||||
TransactionCreation::TransactionCreation(const std::string& memo, const proto::gradido::GradidoCreation& protoCreation)
|
||||
: TransactionBase(memo), mProtoCreation(protoCreation), mReceiverUser(nullptr)
|
||||
{
|
||||
memset(mReceiverPublicHex, 0, 65);
|
||||
@ -19,13 +19,13 @@ TransactionCreation::~TransactionCreation()
|
||||
int TransactionCreation::prepare()
|
||||
{
|
||||
const static char functionName[] = { "TransactionCreation::prepare" };
|
||||
if (!mProtoCreation.has_receiveramount()) {
|
||||
if (!mProtoCreation.has_receiver()) {
|
||||
addError(new Error(functionName, "hasn't receiver amount"));
|
||||
return -1;
|
||||
}
|
||||
auto receiverAmount = mProtoCreation.receiveramount();
|
||||
auto receiver_amount = mProtoCreation.receiver();
|
||||
|
||||
auto receiverPublic = receiverAmount.ed25519_receiver_pubkey();
|
||||
auto receiverPublic = receiver_amount.pubkey();
|
||||
if (receiverPublic.size() != 32) {
|
||||
addError(new Error(functionName, "receiver public invalid (size not 32)"));
|
||||
return -2;
|
||||
|
||||
@ -12,26 +12,26 @@
|
||||
#pragma warning(disable:4800)
|
||||
|
||||
#include "TransactionBase.h"
|
||||
#include "../proto/gradido/TransactionCreation.pb.h"
|
||||
#include "../proto/gradido/GradidoCreation.pb.h"
|
||||
#include "User.h"
|
||||
|
||||
class TransactionCreation : public TransactionBase
|
||||
{
|
||||
public:
|
||||
TransactionCreation(const std::string& memo, const model::messages::gradido::TransactionCreation& protoCreation);
|
||||
TransactionCreation(const std::string& memo, const proto::gradido::GradidoCreation& protoCreation);
|
||||
~TransactionCreation();
|
||||
|
||||
int prepare();
|
||||
|
||||
inline User* getUser() { return mReceiverUser; }
|
||||
inline google::protobuf::int64 getAmount() { return mProtoCreation.receiveramount().amount(); }
|
||||
inline google::protobuf::int64 getAmount() { return mProtoCreation.receiver().amount(); }
|
||||
inline char* getPublicHex() { return mReceiverPublicHex; }
|
||||
|
||||
inline std::string getAmountString() { return amountToString(getAmount()); }
|
||||
std::string getTargetDateString();
|
||||
|
||||
protected:
|
||||
const model::messages::gradido::TransactionCreation& mProtoCreation;
|
||||
const proto::gradido::GradidoCreation& mProtoCreation;
|
||||
char mReceiverPublicHex[65];
|
||||
User* mReceiverUser;
|
||||
};
|
||||
|
||||
@ -46,7 +46,7 @@ void TransactionTransfer::KontoTableEntry::composeAmountCellString(google::proto
|
||||
|
||||
// ********************************************************************************************************************************
|
||||
|
||||
TransactionTransfer::TransactionTransfer(const std::string& memo, const model::messages::gradido::Transfer& protoTransfer)
|
||||
TransactionTransfer::TransactionTransfer(const std::string& memo, const proto::gradido::GradidoTransfer& protoTransfer)
|
||||
: TransactionBase(memo), mProtoTransfer(protoTransfer)
|
||||
{
|
||||
|
||||
@ -61,67 +61,41 @@ int TransactionTransfer::prepare()
|
||||
{
|
||||
lock();
|
||||
const static char functionName[] = { "TransactionTransfer::prepare" };
|
||||
if (mProtoTransfer.senderamounts_size() == 0) {
|
||||
addError(new Error(functionName, "hasn't sender amount(s)"));
|
||||
unlock();
|
||||
return -1;
|
||||
}
|
||||
if (mProtoTransfer.receiveramounts_size() == 0) {
|
||||
addError(new Error(functionName, "hasn't receiver amount(s)"));
|
||||
unlock();
|
||||
return -2;
|
||||
}
|
||||
mKontoTable.reserve(mProtoTransfer.senderamounts_size() + mProtoTransfer.receiveramounts_size());
|
||||
|
||||
mKontoTable.reserve(2);
|
||||
|
||||
//auto receiverAmount = mProtoTransfer.receiveramount();
|
||||
//auto senderAmount
|
||||
int senderSum = 0;
|
||||
int receiverSum = 0;
|
||||
|
||||
char pubkeyHexTemp[65];
|
||||
|
||||
for (int i = 0; i < mProtoTransfer.senderamounts_size(); i++) {
|
||||
auto senderAmount = mProtoTransfer.senderamounts(i);
|
||||
auto pubkey = senderAmount.ed25519_sender_pubkey();
|
||||
senderSum += senderAmount.amount();
|
||||
if (pubkey.size() != 32) {
|
||||
addError(new ParamError(functionName, "invalid public key for sender ", i));
|
||||
unlock();
|
||||
return -3;
|
||||
}
|
||||
//User user((const unsigned char*)pubkey.data());
|
||||
auto user = controller::User::create();
|
||||
if (!user->load((const unsigned char*)pubkey.data())) {
|
||||
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)pubkey.data(), pubkey.size());
|
||||
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, senderAmount.amount(), true));
|
||||
if (mProtoTransfer.has_local())
|
||||
{
|
||||
auto local_transfer = mProtoTransfer.local();
|
||||
auto sender = local_transfer.sender();
|
||||
auto sender_pubkey = sender.pubkey();
|
||||
auto receiver_pubkey = local_transfer.receiver();
|
||||
auto amount = sender.amount();
|
||||
auto sender_user = controller::User::create();
|
||||
auto receiver_user = controller::User::create();
|
||||
|
||||
if (!sender_user->load((const unsigned char*)sender_pubkey.data())) {
|
||||
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)sender_pubkey.data(), sender_pubkey.size());
|
||||
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, -amount, true));
|
||||
}
|
||||
else {
|
||||
mKontoTable.push_back(KontoTableEntry(user->getModel(), senderAmount.amount(), true));
|
||||
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), -amount, true));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < mProtoTransfer.receiveramounts_size(); i++) {
|
||||
auto receiverAmount = mProtoTransfer.receiveramounts(i);
|
||||
auto pubkey = receiverAmount.ed25519_receiver_pubkey();
|
||||
receiverSum += receiverAmount.amount();
|
||||
if (receiverAmount.ed25519_receiver_pubkey().size() != 32) {
|
||||
addError(new ParamError(functionName, "invalid public key for receiver ", i));
|
||||
unlock();
|
||||
return -4;
|
||||
}
|
||||
auto user = controller::User::create();
|
||||
if (!user->load((const unsigned char*)pubkey.data())) {
|
||||
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)pubkey.data(), pubkey.size());
|
||||
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, receiverAmount.amount(), false));
|
||||
|
||||
if (!receiver_user->load((const unsigned char*)receiver_pubkey.data())) {
|
||||
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size());
|
||||
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, amount, true));
|
||||
}
|
||||
else {
|
||||
mKontoTable.push_back(KontoTableEntry(user->getModel(), receiverAmount.amount(), false));
|
||||
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), amount, true));
|
||||
}
|
||||
}
|
||||
if (senderSum != receiverSum) {
|
||||
addError(new Error(functionName, "sender amounts sum != receiver amounts sum"));
|
||||
unlock();
|
||||
return -5;
|
||||
}
|
||||
}
|
||||
// TODO: add version for group transfer
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -12,14 +12,14 @@
|
||||
#pragma warning(disable:4800)
|
||||
|
||||
#include "TransactionBase.h"
|
||||
#include "../proto/gradido/Transfer.pb.h"
|
||||
#include "../proto/gradido/GradidoTransfer.pb.h"
|
||||
|
||||
#include "../controller/User.h"
|
||||
|
||||
class TransactionTransfer : public TransactionBase
|
||||
{
|
||||
public:
|
||||
TransactionTransfer(const std::string& memo, const model::messages::gradido::Transfer& protoTransfer);
|
||||
TransactionTransfer(const std::string& memo, const proto::gradido::GradidoTransfer& protoTransfer);
|
||||
~TransactionTransfer();
|
||||
|
||||
int prepare();
|
||||
@ -44,7 +44,7 @@ protected:
|
||||
void composeAmountCellString(google::protobuf::int64 amount, bool negativeAmount);
|
||||
};
|
||||
|
||||
const model::messages::gradido::Transfer& mProtoTransfer;
|
||||
const proto::gradido::GradidoTransfer& mProtoTransfer;
|
||||
std::vector<KontoTableEntry> mKontoTable;
|
||||
};
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ protected:
|
||||
TransactionType mType;
|
||||
std::string mProtoMessageBase64;
|
||||
|
||||
model::messages::gradido::TransactionBody mTransactionBody;
|
||||
proto::gradido::TransactionBody mTransactionBody;
|
||||
TransactionBase* mTransactionSpecific;
|
||||
|
||||
HASH mHash;
|
||||
|
||||
@ -11,8 +11,6 @@
|
||||
|
||||
#include "../lib/Profiler.h"
|
||||
|
||||
#include "../proto/gradido/Transaction.pb.h"
|
||||
|
||||
#include "sodium.h"
|
||||
|
||||
#include "../ServerConfig.h"
|
||||
@ -96,8 +94,8 @@ int SigningTransaction::run() {
|
||||
}
|
||||
}
|
||||
// get body bytes
|
||||
model::messages::gradido::Transaction transaction;
|
||||
auto bodyBytes = transaction.mutable_bodybytes();
|
||||
proto::gradido::GradidoTransaction transaction;
|
||||
auto bodyBytes = transaction.mutable_body_bytes();
|
||||
*bodyBytes = mProcessingeTransaction->getBodyBytes();
|
||||
if (*bodyBytes == "") {
|
||||
getErrors(mProcessingeTransaction);
|
||||
@ -132,7 +130,7 @@ int SigningTransaction::run() {
|
||||
}
|
||||
*/
|
||||
// add to message
|
||||
auto sigMap = transaction.mutable_sigmap();
|
||||
auto sigMap = transaction.mutable_sig_map();
|
||||
auto sigPair = sigMap->add_sigpair();
|
||||
|
||||
auto pubkeyBytes = sigPair->mutable_pubkey();
|
||||
@ -147,7 +145,7 @@ int SigningTransaction::run() {
|
||||
/*std::string protoPrettyPrint;
|
||||
google::protobuf::TextFormat::PrintToString(transaction, &protoPrettyPrint);
|
||||
printf("transaction pretty: %s\n", protoPrettyPrint.data());
|
||||
model::messages::gradido::TransactionBody transactionBody;
|
||||
proto::gradido::TransactionBody transactionBody;
|
||||
transactionBody.MergeFromString(transaction.bodybytes());
|
||||
google::protobuf::TextFormat::PrintToString(transactionBody, &protoPrettyPrint);
|
||||
printf("transaction body pretty: \n%s\n", protoPrettyPrint.data());
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#include "../model/User.h"
|
||||
#include "../controller/User.h"
|
||||
|
||||
#include "../proto/gradido/Transaction.pb.h"
|
||||
#include "../proto/gradido/GradidoTransaction.pb.h"
|
||||
|
||||
#include "ProcessingTransaction.h"
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
%>
|
||||
<%%
|
||||
const char* pageName = "Decode Transaction";
|
||||
model::messages::gradido::TransactionBody transactionBody;
|
||||
proto::gradido::TransactionBody transactionBody;
|
||||
bool decoded = false;
|
||||
bool adminUser = false;
|
||||
if(mSession && mSession->getNewUser()) {
|
||||
@ -81,36 +81,33 @@
|
||||
<p><%= transactionBody.memo() %></p>
|
||||
<% if(transactionBody.has_transfer()) {
|
||||
auto transfer = transactionBody.transfer();
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
%>
|
||||
<h3>Transfer</h3>
|
||||
<b>Sender</b>
|
||||
<% for(int i = 0; i < transfer.senderamounts_size(); i++) {
|
||||
auto sender = transfer.senderamounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)sender.ed25519_sender_pubkey().data(), sender.ed25519_sender_pubkey().size());
|
||||
<% if(transfer.has_local()) {
|
||||
auto local_transfer = transfer.local();
|
||||
auto sender_pubkey = local_transfer.sender().pubkey();
|
||||
auto receiver_pubkey = local_transfer.receiver();
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)sender_pubkey.data(), sender_pubkey.size());
|
||||
%>
|
||||
<p>pubkey: <%= hex %></p>
|
||||
<p>amount: <%= TransactionBase::amountToString(sender.amount()) %> GDD</p>
|
||||
<% } %>
|
||||
<b>Receiver</b>
|
||||
<% for(int i = 0; i < transfer.receiveramounts_size(); i++) {
|
||||
auto receiver = transfer.receiveramounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size());
|
||||
%>
|
||||
<p>pubkey: <%= hex %></p>
|
||||
<p>amount: <%= TransactionBase::amountToString(receiver.amount()) %> GDD</p>
|
||||
<% } %>
|
||||
<h3>Local Transfer</h3>
|
||||
<b>From: </b><%= hex %>
|
||||
<% sodium_bin2hex(hex, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size()); %>
|
||||
<b>To: </b><%= hex %>
|
||||
<b>Amount: </b><%= TransactionBase::amountToString(local_transfer.sender().amount()) %>
|
||||
<% } else { %>
|
||||
<h3>- Not implemented yet (Group Transfer) -</h3>
|
||||
<% } %>
|
||||
|
||||
<% } else if(transactionBody.has_creation()) {
|
||||
auto creation = transactionBody.creation();
|
||||
auto receiver = creation.receiveramount();
|
||||
auto receiver = creation.receiver();
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size());
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());
|
||||
|
||||
Poco::AutoPtr<controller::User> user = nullptr;
|
||||
if(adminUser) {
|
||||
user = controller::User::create();
|
||||
if(!user->load((const unsigned char*)receiver.ed25519_receiver_pubkey().data())) {
|
||||
if(!user->load((const unsigned char*)receiver.pubkey().data())) {
|
||||
user.assign(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user