mirror of
https://git.wownero.com/wownero/onion-wownero-blockchain-explorer.git
synced 2024-08-15 00:33:12 +00:00
development of show_pushrawtx started
This commit is contained in:
parent
ec77dd8043
commit
57a874c771
2 changed files with 68 additions and 3 deletions
21
main.cpp
21
main.cpp
|
@ -214,7 +214,7 @@ int main(int ac, const char* av[]) {
|
|||
return xmrblocks.show_rawtx();
|
||||
});
|
||||
|
||||
CROW_ROUTE(app, "/checkandpush").methods("POST"_method)
|
||||
CROW_ROUTE(app, "/checkrawtx").methods("POST"_method)
|
||||
([&](const crow::request& req) {
|
||||
|
||||
map<std::string, std::string> post_body = xmreg::parse_crow_post_data(req.body);
|
||||
|
@ -227,9 +227,26 @@ int main(int ac, const char* av[]) {
|
|||
string raw_tx_data = post_body["rawtxdata"];
|
||||
string action = post_body["action"];
|
||||
|
||||
return xmrblocks.show_checkandpushtx(raw_tx_data, action);
|
||||
return xmrblocks.show_checkrawtx(raw_tx_data, action);
|
||||
});
|
||||
|
||||
CROW_ROUTE(app, "/pushrawtx").methods("POST"_method)
|
||||
([&](const crow::request& req) {
|
||||
|
||||
map<std::string, std::string> post_body = xmreg::parse_crow_post_data(req.body);
|
||||
|
||||
if (post_body.count("rawtxdata") == 0 || post_body.count("action") == 0)
|
||||
{
|
||||
return string("Raw tx data or action not provided");
|
||||
}
|
||||
|
||||
string raw_tx_data = post_body["rawtxdata"];
|
||||
string action = post_body["action"];
|
||||
|
||||
return xmrblocks.show_pushrawtx(raw_tx_data, action);
|
||||
});
|
||||
|
||||
|
||||
CROW_ROUTE(app, "/search").methods("GET"_method)
|
||||
([&](const crow::request& req) {
|
||||
return xmrblocks.search(string(req.url_params.get("value")));
|
||||
|
|
50
src/page.h
50
src/page.h
|
@ -1259,7 +1259,7 @@ namespace xmreg {
|
|||
}
|
||||
|
||||
string
|
||||
show_checkandpushtx(string raw_tx_data, string action)
|
||||
show_checkrawtx(string raw_tx_data, string action)
|
||||
{
|
||||
// remove white characters
|
||||
boost::trim(raw_tx_data);
|
||||
|
@ -1610,6 +1610,54 @@ namespace xmreg {
|
|||
return mstch::render(full_page, context, partials);
|
||||
}
|
||||
|
||||
string
|
||||
show_pushrawtx(string raw_tx_data, string action)
|
||||
{
|
||||
// remove white characters
|
||||
boost::trim(raw_tx_data);
|
||||
boost::erase_all(raw_tx_data, "\r\n");
|
||||
boost::erase_all(raw_tx_data, "\n");
|
||||
|
||||
string decoded_raw_tx_data = epee::string_encoding::base64_decode(raw_tx_data);
|
||||
|
||||
const size_t magiclen = strlen(SIGNED_TX_PREFIX);
|
||||
|
||||
if (!strncmp(decoded_raw_tx_data.c_str(), SIGNED_TX_PREFIX, magiclen) != 0)
|
||||
{
|
||||
cout << "The data does not appear to be signed raw tx!" << endl;
|
||||
return string( "The data does not appear to be signed raw tx!");
|
||||
}
|
||||
|
||||
::tools::wallet2::signed_tx_set signed_txs;
|
||||
|
||||
bool r = serialization::parse_binary(std::string(
|
||||
decoded_raw_tx_data.c_str() + magiclen,
|
||||
decoded_raw_tx_data.size() - magiclen),
|
||||
signed_txs);
|
||||
|
||||
if (!r)
|
||||
{
|
||||
cerr << "deserialization of signed tx data NOT successful" << endl;
|
||||
return string("deserialization of signed tx data NOT successful. "
|
||||
"Maybe its not base64 encoded?");
|
||||
}
|
||||
|
||||
std::vector<tools::wallet2::pending_tx> ptx_vector = signed_txs.ptx;
|
||||
|
||||
// actually commit the transactions
|
||||
while (!ptx_vector.empty())
|
||||
{
|
||||
auto & ptx = ptx_vector.back();
|
||||
//m_wallet->commit_tx(ptx);
|
||||
//success_msg_writer(true) << tr("Money successfully sent, transaction: ") << get_transaction_hash(ptx.tx);
|
||||
|
||||
// if no exception, remove element from vector
|
||||
ptx_vector.pop_back();
|
||||
}
|
||||
|
||||
return string{};
|
||||
}
|
||||
|
||||
|
||||
string
|
||||
search(string search_text)
|
||||
|
|
Loading…
Reference in a new issue