From d10b8af6a450781b39b1ea3ebaf50fad3774aa5a Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Tue, 24 Apr 2018 18:38:59 -0400 Subject: [PATCH] progress --- libraries/chain/controller.cpp | 4 ++++ libraries/chain/include/eosio/chain/block.hpp | 5 +++-- libraries/chain/include/eosio/chain/controller.hpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/chain/controller.cpp b/libraries/chain/controller.cpp index 5fb7d7c3f..a87fc9044 100644 --- a/libraries/chain/controller.cpp +++ b/libraries/chain/controller.cpp @@ -522,6 +522,9 @@ struct controller_impl { auto mtrx = std::make_shared(pt); push_transaction( mtrx ); } + else if( receipt.trx.contains() ) { + self.push_scheduled_transaction( receipt.trx.get() ); + } } finalize_block(); @@ -858,6 +861,7 @@ void controller::push_next_scheduled_transaction( fc::time_point deadline ) { my->push_scheduled_transaction( *idx.begin(), deadline ); } void controller::push_scheduled_transaction( const transaction_id_type& trxid, fc::time_point deadline ) { + FC_ASSERT( !"not implemented" ); /// lookup scheduled trx and then apply it... } diff --git a/libraries/chain/include/eosio/chain/block.hpp b/libraries/chain/include/eosio/chain/block.hpp index 8ce7f375c..f3d95212c 100644 --- a/libraries/chain/include/eosio/chain/block.hpp +++ b/libraries/chain/include/eosio/chain/block.hpp @@ -14,7 +14,8 @@ namespace eosio { namespace chain { executed = 0, ///< succeed, no error handler executed soft_fail = 1, ///< objectively failed (not executed), error handler executed hard_fail = 2, ///< objectively failed and error handler objectively failed thus no state change - delayed = 3 ///< transaction delayed/deferred/scheduled for future execution + delayed = 3, ///< transaction delayed/deferred/scheduled for future execution + expired = 4 ///< transaction expired and storage space refuned to user }; transaction_receipt_header():status(hard_fail){} @@ -65,7 +66,7 @@ namespace eosio { namespace chain { } } /// eosio::chain FC_REFLECT_ENUM( eosio::chain::transaction_receipt::status_enum, - (executed)(soft_fail)(hard_fail)(delayed) ) + (executed)(soft_fail)(hard_fail)(delayed)(expired) ) FC_REFLECT(eosio::chain::transaction_receipt_header, (status)(kcpu_usage)(net_usage_words) ) FC_REFLECT_DERIVED(eosio::chain::transaction_receipt, (eosio::chain::transaction_receipt_header), (trx) ) diff --git a/libraries/chain/include/eosio/chain/controller.hpp b/libraries/chain/include/eosio/chain/controller.hpp index 134cc14fe..182b97280 100644 --- a/libraries/chain/include/eosio/chain/controller.hpp +++ b/libraries/chain/include/eosio/chain/controller.hpp @@ -85,7 +85,7 @@ namespace eosio { namespace chain { * */ void push_scheduled_transaction( const transaction_id_type& scheduled, - fc::time_point deadline = fc::time_point::maximum() ); + fc::time_point deadline = fc::time_point::maximum() ); /** * Attempt to execute the oldest unexecuted deferred transaction -- GitLab