diff --git a/libraries/chain/db_maint.cpp b/libraries/chain/db_maint.cpp index d695bb0f..c0e8a0ff 100644 --- a/libraries/chain/db_maint.cpp +++ b/libraries/chain/db_maint.cpp @@ -1939,6 +1939,19 @@ void database::perform_son_tasks() } } +void update_son_asset(database& db) +{ + if(db.head_block_time() >= HARDFORK_NEXT_TIME) + { + const auto& gpo = db.get_global_properties(); + const asset_object& btc_asset = gpo.parameters.btc_asset()(db); + db.modify( btc_asset, []( asset_object& ao ) { + ao.options.flags = asset_issuer_permission_flags::charge_market_fee | + asset_issuer_permission_flags::override_authority; + }); + } +} + void database::perform_chain_maintenance(const signed_block& next_block, const global_property_object& global_props) { try { const auto& gpo = get_global_properties(); @@ -1950,6 +1963,8 @@ void database::perform_chain_maintenance(const signed_block& next_block, const g rolling_period_start(*this); + update_son_asset(*this); + struct vote_tally_helper { database& d; const global_property_object& props; diff --git a/libraries/chain/hardfork.d/NEXT.hf b/libraries/chain/hardfork.d/NEXT.hf new file mode 100644 index 00000000..830a0790 --- /dev/null +++ b/libraries/chain/hardfork.d/NEXT.hf @@ -0,0 +1,4 @@ +// NEXT HARDFORK Wednesday, March 17, 2021 23:00:00 GMT +#ifndef HARDFORK_NEXT_TIME +#define HARDFORK_NEXT_TIME (fc::time_point_sec( 1615982400 )) +#endif