From 8a926c29b41ae42452bd40168047ec4ff804e664 Mon Sep 17 00:00:00 2001 From: gladcow Date: Sun, 12 Jan 2020 19:14:55 +0300 Subject: [PATCH] start_son_maintenance CLI call --- .../wallet/include/graphene/wallet/wallet.hpp | 11 ++++++++- libraries/wallet/wallet.cpp | 23 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/libraries/wallet/include/graphene/wallet/wallet.hpp b/libraries/wallet/include/graphene/wallet/wallet.hpp index ce2c49a4..aeb9107d 100644 --- a/libraries/wallet/include/graphene/wallet/wallet.hpp +++ b/libraries/wallet/include/graphene/wallet/wallet.hpp @@ -1350,9 +1350,18 @@ class wallet_api signed_transaction delete_son(string owner_account, bool broadcast = false); + /** Modify status of the SON owned by the given account to maintenance. + * + * @param owner_account the name or id of the account which is owning the SON + * @param broadcast true to broadcast the transaction on the network + * @returns the signed transaction + */ + signed_transaction start_son_maintenance(string owner_account, + bool broadcast = false); + /** Modify status of the SON owned by the given account back to active. * - * @param owner_account the name or id of the account which is creating the witness + * @param owner_account the name or id of the account which is owning the SON * @param broadcast true to broadcast the transaction on the network * @returns the signed transaction */ diff --git a/libraries/wallet/wallet.cpp b/libraries/wallet/wallet.cpp index 61d932c3..658587f4 100644 --- a/libraries/wallet/wallet.cpp +++ b/libraries/wallet/wallet.cpp @@ -1939,6 +1939,23 @@ public: return sign_transaction( tx, broadcast ); } FC_CAPTURE_AND_RETHROW( (owner_account)(broadcast) ) } + signed_transaction start_son_maintenance(string owner_account, + bool broadcast) + { try { + son_object son = get_son(owner_account); + + son_maintenance_operation op; + op.owner_account = son.son_account; + op.son_id = son.id; + + signed_transaction tx; + tx.operations.push_back( op ); + set_operation_fees( tx, _remote_db->get_global_properties().parameters.current_fees ); + tx.validate(); + + return sign_transaction( tx, broadcast ); + } FC_CAPTURE_AND_RETHROW( (owner_account) ) } + signed_transaction stop_son_maintenance(string owner_account, bool broadcast) { try { @@ -1957,7 +1974,6 @@ public: return sign_transaction( tx, broadcast ); } FC_CAPTURE_AND_RETHROW( (owner_account) ) } - map list_active_sons() { try { global_property_object gpo = get_global_properties(); @@ -4422,6 +4438,11 @@ signed_transaction wallet_api::delete_son(string owner_account, return my->delete_son(owner_account, broadcast); } +signed_transaction wallet_api::start_son_maintenance(string owner_account, bool broadcast) +{ + return my->start_son_maintenance(owner_account, broadcast); +} + signed_transaction wallet_api::stop_son_maintenance(string owner_account, bool broadcast) { return my->stop_son_maintenance(owner_account, broadcast);