From 8b546cbf60437db51b035c2a44ae9560034f2a90 Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Mon, 29 Jun 2015 18:48:47 -0400 Subject: [PATCH] adding get_transaction api call --- libraries/app/api.cpp | 7 +++++++ libraries/app/include/graphene/app/api.hpp | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/libraries/app/api.cpp b/libraries/app/api.cpp index 5ea05e45..43f656ff 100644 --- a/libraries/app/api.cpp +++ b/libraries/app/api.cpp @@ -59,6 +59,13 @@ namespace graphene { namespace app { { return _db.fetch_block_by_number(block_num); } + processed_transaction database_api::get_transaction(uint32_t block_num, uint32_t trx_num)const + { + auto opt_block = _db.fetch_block_by_number(block_num); + FC_ASSERT( opt_block ); + FC_ASSERT( opt_block->transactions.size() > trx_num ); + return opt_block->transactions[trx_num]; + } vector> database_api::lookup_account_names(const vector& account_names)const { diff --git a/libraries/app/include/graphene/app/api.hpp b/libraries/app/include/graphene/app/api.hpp index bc68aeef..37402dc5 100644 --- a/libraries/app/include/graphene/app/api.hpp +++ b/libraries/app/include/graphene/app/api.hpp @@ -73,6 +73,12 @@ namespace graphene { namespace app { * @return the referenced block, or null if no matching block was found */ optional get_block(uint32_t block_num)const; + + /** + * @brief used to fetch an individual transaction. + */ + processed_transaction get_transaction( uint32_t block_num, uint32_t trx_in_block )const; + /** * @brief Retrieve the current @ref global_property_object */ @@ -372,6 +378,7 @@ FC_API(graphene::app::database_api, (get_objects) (get_block_header) (get_block) + (get_transaction) (get_global_properties) (get_dynamic_global_properties) (get_keys)